私は次の簡単なPHPコードスニペットを持っています。これは、呼び出されるとデータベースから関連記事を削除します。結果はjavacスクリプト関数に渡され、AJAX経由でページが更新されます。クエリが失敗した場合は、以下のように文字列false
を返したいと思います。PHPでSQLクエリをテストする
if($cmd=="deleterec"){
$deleteQuery = "DELETE FROM AUCTIONS1 WHERE ARTICLE_NO = ?";
if ($delRecord = $con->prepare($deleteQuery)) {
$delRecord->bind_param("s", $pk);
$delRecord->execute();
$delRecord->close();
echo "true";
} else {
echo "false";
}
}
クエリが成功したかどうかを確認する正しい方法と私が見逃していることを知りたいと思います。
編集:回答をもとに
、私の代わりにの準備が、彼の作っ差はtはない$delRecord->execute();
にif節を動かしてみました。私はfalse
を返すようにページを得ることができません。
以下の解決策は、正しくない場合でもクエリが常に実行され、常に「true」を返すため、機能しません。影響を受ける行メソッドを試してみると、error : Call to undefined method mysqli_stmt::affected_rows()
現時点で明らかに動作していない理由を詳細に説明し、Javascriptコードも表示してください。 – Alnitak
愚かな質問 - $ conは有効な接続ですよね? – jmucchiello
うん、それは確かです。 AlnitakはJavaScriptコードが貼り付けられていますが、ページは決して「false」を返さないので、JavaScriptの問題ではないと思います。 –