ホーム>source

私はDBに正常に書き込んでいるクエリを実行していますが、それはFALSEを返します:

<前>ウィズウィズ foreach ($_SESSION['devices_id'] as $dev_id => $c) { $sql2 = "INSERT INTO rma_device_list (rma_id, device_id, dev_comment) VALUES ('$last_rma_id','$dev_id', '$c')"; $sqll = mysqli_query($db, $sql2); } if ($db->query($sql2) === TRUE) { //I have some functionality here but never runs }else{ echo "Query failed"; }
あなたの答え
  • 解決した方法 # 1

    ループの終了後に追加の挿入を実行して、ループの最後の反復と同じデータを挿入します。テーブルに一意のキーがあるため、エラーが発生している可能性があり、重複を作成しようとしています。

    ループ内のクエリの成功を確認する必要があります。その後、追加のクエリを実行する必要はありません( mysqli_error($db) を使用できます)  エラーの理由を確認するには、「クエリが失敗しました」と出力するだけではありません)。

    <前>ウィズウィズ foreach ($_SESSION['devices_id'] as $dev_id => $c) { $sql2 = "INSERT INTO rma_device_list (rma_id, device_id, dev_comment) VALUES ('$last_rma_id','$dev_id', '$c')"; if (!mysqli_query($db, $sql2)) { echo "Query failed for $dev_id => $c: " . mysqli_error($db); break; // stop the loop if we get an error } }

関連記事

  • 前へ java - JPAクエリ:サブクエリをグループ化条件に結合する
  • 次へ rust - タイプの1つのサブセットを除くすべてで機能する特性の汎用実装を作成することは可能ですか?