$result = $mysqli->query("SELECT * FROM news");
$news = $result->fetch_assoc();
$data = "test";
$query = "UPDATE news SET last_query = UNIX_TIMESTAMP(), news = ?";
$stmt = $mysqli->prepare($query);
var_dump($mysqli->error); # empty
var_dump($stmt->bind_param("s", $data)); # true
var_dump($stmt->prepare($query)); # true
var_dump($stmt->execute()); # false
var_dump($stmt->error); # No data supplied for parameters in prepared statement
$stmt->close();
最初のクエリを削除すると、結果セットに残っている結果から読み取ったものから2番目のクエリが正常に機能します(単一行データベースから読み取っていますが)。しかし、 $result->free(); で結果セットをクリアすることさえできます。それを修正していないようです。