• 締切済み

変数の中身は確認できているが、更新がうまく出来ない

echo "TID:".$TID; //TIDを親テーブルに登録する $update_total = $mysqli->query("UPDATE EDIT_TOTAL SET TID='$TID' WHERE KEYID='$KEYID'"); /* トランザクションをコミットします */ if (!$mysqli->commit()) { print("Transaction commit failed\n"); exit(); } 変数の中身も問題なく、エラーも出ていないのですが、1回目のボタンだと反映されず、2回目だと正常に反映されることが多々あります。 どなたかご教示頂けると幸いでございます。 ※そんなことも知らないのかよという書き込みはご遠慮しておりますのでよろしくお願いします。

みんなの回答

  • hymat
  • ベストアンサー率58% (95/162)
回答No.1

これだけじゃ原因はわかりませんね。下記やってみても問題は起こりません。 $KEYIDの値がDB上に存在しないとか、DBの表定義とか、ここに書いてない部分の問題でしょう。 <?php $mysqli = new mysqli('localhost', 'user', 'pass', 'database'); if ($mysqli->connect_error) { echo $mysqli->connect_error; exit(); } $TID=101; $KEYID=1; $update_total = $mysqli->query("UPDATE EDIT_TOTAL SET TID='$TID' WHERE KEYID='$KEYID'"); if (!$mysqli->commit()) { print("Transaction commit failed\n"); exit(); } $mysqli->close(); ?> ついでながら、普通phpでは変数名は小文字で、大文字は定数に使います。また「ご遠慮しております」じゃなくて「ご遠慮ください」か「お断りしています」だと思いますよ。

関連するQ&A