PHPコードをmysqlからmysqliに更新していますが、この質問に対する答えが見つからないようです。mysqli更新クエリは結果を返しますか?
mysqlを使用すると、
$result = mysql_query("UPDATE `data` SET `field1` = 1 WHERE `key` = '$mykey');
クエリが行を返さない場合でも、$resultはtrueになります。
しかし、mysqliコードには、次のようなものがあります(わかりやすくするためにエラー処理は削除されています)。
$stmt = $mysqli->prepare("UPDATE `data` SET `field1` = 1 WHERE `key` = (?)")
$stmt->bind_param("s", $mykey);
$stmt->execute();
$result = $stmt->get_result();
$resultはfalseです。
レコードの場合、クエリは有効であり(stackoverflowに転記した可能性のあるタイプミスは無視してください)、field1はデータベースで期待どおりに正しく更新されます。また、get_result()は一部のクエリで正常に機能するため、get_result()が使用できないことは問題ではありません。
基本的に、この変更された動作が予想されるのか、それともどこかでバグを見つけようとする必要があるのかを知りたいだけです。