PHP5系にてmysqli使用でupdateのSQLを実行した際にかなり稀(年に1,2回レベルです)にですが、
対象更新データの全カラムが空になってしまうことがあり、この理由と可能な対策をお聞きしたいです…。
現象の起きたデータは、AUTO_INCREMENT設定しておりますIDに関しては、残っており、
それ以外のカラムは全て空(デフォルト値)になっている、という状態です。
PHP側の処理は、SQL文を作り、mysqli_queryを実行、のみです。
稀に起こるデータ以外のデータについては特に不整合ありません。
また、空のデータを飛ばしているということも無いです。
(フォーム→POST→SQL作成→実行、という流れです)
そもそもMySQLでそういうことは当たり前に起こるものなのか、
いや、それはおそらくPHP側の影響だよ、ということなのか知りたいです。
また、もし対策が何かしら可能でしたらご教授頂きたいです。
よろしくお願い致します。
追記です。
ソースですが、
PHP
1$sql = "UPDATE `test` SET `a` = 'a', `b` = 'b', `c` = 'c' WHERE `id` = '1'"; 2$db = mysqli_connect("localhost", "user", "pass", "test"); 3$rs = mysqli_query($db, $sql);
で、エラー取得などよくわからず、$rs === FALSE の際のみ、失敗として簡素に残しているのみです…、すいません。
PHPとしてのエラーの残し方、MySQL側?でのエラーの残し方などまだまだ勉強不足でかなり無知です、申し訳ございません。
回答1件
あなたの回答
tips
プレビュー