こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

-広告-

締切り済みの質問

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

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回目だと正常に反映されることが多々あります。
どなたかご教示頂けると幸いでございます。
※そんなことも知らないのかよという書き込みはご遠慮しておりますのでよろしくお願いします。

投稿日時 - 2017-02-12 14:58:52

QNo.9293003

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

-広告-
-広告-

回答(1)

ANo.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では変数名は小文字で、大文字は定数に使います。また「ご遠慮しております」じゃなくて「ご遠慮ください」か「お断りしています」だと思いますよ。

投稿日時 - 2017-02-16 22:27:16

-広告-
-広告-
-広告-
-広告-