###前提・実現したいこと
phpで生成した連想配列をjquery ajaxを使って、
mysqlにアップデートしたいと考えています。
具体的には「MYSQLに反映する」ボタンを押すと裏でMYSQLに反映されます。
###発生している問題・エラーメッセージ
全くmysqlにアップデートされない。
様々な解説サイトを閲覧していますが、全然うまくいかない為、御教授願います。
(ひょっとしたらjsonの変換でなにかしらのミスをしているのではと予想しており、自信がありません。。)
###該当のソースコード
◆input.php <?php $array[0]='aaa'; $array[1]='bbb'; $array_2= json_encode($array) ; echo'<button class="update">MYSQLに反映する</button>'; ?> <style> .update:active {opacity: 0.8;} </style> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script> <script type="text/javascript"> $(function() { // buttonがクリックされたときに実行 $(".update").click(function() { var array_jquery="<?php echo $array_2; ?>"; var array_jquery_2 = { a: array_jquery }; $.ajax({ type: "POST", url: "update.php", data:{data1:array_jquery_2} }); return false; }); }); </script> ◆update.php <?php $array_jquery_3 = filter_input(INPUT_POST, 'a'); $array_jquery_4 = json_decode( $array_jquery_3 , true ) ; // 投票数をアップデートする $dsn='mysql:dbname=xxx;host=localhost'; $user='yyy'; $password='zzz'; $dbh=new PDO($dsn,$user,$password); $dbh->query('SET NAMES utf8'); $sql="UPDATE table_1 SET box1=?, box2=? WHERE id=?"; $stmt=$dbh->prepare($sql); $data[0]=$array_jquery_4[0]; $data[1]=$array_jquery_4[1]; $data[2]=100; $stmt->execute($data); $dbh=null; ?>
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/01/03 03:12
2020/01/03 04:30
2020/01/03 14:07
2020/01/03 19:46