mysqlからmysqliにPHPコードを更新していますが、この質問に対する答えが見つからないようです。mysqli updateクエリは結果を返しますか?クエリがローを返さないにもかかわらずmysqli更新クエリは結果を返す必要がありますか?
MySQLで、私は
$result = mysql_query("UPDATE `data` SET `field1` = 1 WHERE `key` = '$mykey');
と$結果が真だろう行うことができます。
$stmt = $mysqli->prepare("UPDATE `data` SET `field1` = 1 WHERE `key` = (?)")
$stmt->bind_param("s", $mykey);
$stmt->execute();
$result = $stmt->get_result();
と$結果が偽である:
は今、しかし、mysqliのコードでは、私はこの(エラー処理を明確にするため取り除か)のようなものを持っています。
レコードの場合、クエリは有効です(私はstackoverflowにそれを転記させた可能性のあるすべてのタイプミスを無視します)。フィールド1はデータベースで正しく更新されます。また、get_result()はselectクエリでうまく動作するため、get_result()を使用できないという問題はありません。
基本的には、この変更された動作が期待されているかどうか、あるいはどこかのバグを見つけようとしているかどうかを知りたいだけです。
いいえ...コメントが表示されなくなったようですが、実際にはget_resultが "結果セットを返すか、失敗した場合はFALSEを返します"というドキュメントをチェックするように指示しています。 私はすでに質問をする前にそれを読んでいましたが、ドキュメントが正確であるかどうか不思議です。 $ stmt-> get_result()がfalseを返した後、$ stmt-> errno(0)と$ stmt-> error(空白)をチェックし、クエリが正常に実行されたように見えました。では、このエラーはどこで発生していますか? – Swiftheart