サーバ上に下記のソースコード(update.php)を置いて、sqliteDBに対してUPDATE文を実行すると一番最後のecho文で'成功'が帰ってくるのですが、DBを見てみるとUPDATE文が反映されていません。
フォームの内容やSQL文の記述はおかしくない(?の部分にフォームの内容をいれてsqlite3内で実行するとupdateできる)かと思うのですが、
反映しない原因を教えていただけないでしょうか?
もしくはDBに対して発行されたSQL文をログか何かで取得する方法がありますでしょうか?
ご教授よろしくお願いいたします。
PHP
1<?php 2$action = $_POST["action"]; 3$sfen = "'".$_POST["sfen"]."'"; 4echo $sfen.'\n'; 5try { 6 $pdo = new PDO('sqlite:xxxxxx.sqlite3'); 7 if ($action === "adopt"){ 8 $status = 1; 9 }else if ($action === "reject"){ 10 $status = 2; 11 } 12 13 var_dump($status); 14 var_dump($sfen); 15 16 $stmt= $pdo->prepare("UPDATE problem SET status = ? WHERE sfen = ?"); 17 $flag = $stmt->execute([$status , $sfen]); 18 //$flag = sqlite_exec($link, $sql, $sqliteerror); 19 if (!$flag){ 20 echo"だめだったよ"; 21 } else { 22 echo "成功"; 23 } 24}catch (Exception $e) { 25 echo $e->getMessage().PHP_EOL; 26}
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/08/25 07:44
2017/08/25 07:59
2017/08/25 08:19