PHPの配列からmysqlテーブルのすべての値に対して2列、rated
およびimdb_rating
を更新しようとしています。 $data
は2次元配列です。配列はjavascriptから投稿されます。エラーは表示されず、私のテーブルで何も起こっていないことを除いて、すべてのことはOKです。レコードが更新されていません。 echo json_encode(0)
は0を返しますが、レコードは更新されていません。私の最大の心配は、die(mysqli_error($con));
はエラーを返さないということです。どこで私は間違えましたか?MySQLのテーブルをPHPでループで更新する
if($con){
$data=$_POST['dat'];
$count=sizeof($data);
for($i=0;$i<$count;$i++){
$sql="UPDATE `movies2` SET `rated`='$data[$i][2]' WHERE `movie_ID`='$data[$i][0]'";
$sql2="UPDATE `movies2` SET `imdb_rating`='$data[$i][1]' WHERE `movie_ID`='$data[$i][0]'";
$result=mysqli_query($con,$sql);
$result2=mysqli_query($con,$sql2);
}
if($result && $result2){
echo json_encode(0);
}
else{
echo json_encode(1);
die(mysqli_error($con));
}
}
クエリ内の生の$ _POSTデータを含めないでください。 SQLインジェクションについて読む。あなたの質問をエコーしようとしましたか?あなたは何が間違っているかを見るでしょう。 – ElChupacabra
'$ sql'と' $ sql2'を 'echo'した場合、期待通りの値が正しく埋められていますか? phpMyAdminでそのクエリをコピー/ペーストすると、データベースが正しく更新されますか? – rickdenhaan
はいphpMyAdminでSQL文がうまく動作します – mwaniki