データベースの100.000行を更新しようとすると、次のコードで更新できますが、常にエラーが発生します。
エラー:コマンドが同期していません。現在、このコマンドを実行することはできません
これは更新であるため、結果は必要なく、それらを削除したいだけです。$ count変数は、データベースが1つの大きな更新ではなく更新のチャンクを取得するために使用されます。(データベースのいくつかの制限のため、1つの大きな更新が機能していません)。
mysqli_free_resultなどのさまざまなことを試しました...何も機能しませんでした。
global $mysqliObject;
$count = 0;
$statement = "";
foreach ($songsArray as $song) {
$id = $song->getId();
$treepath = $song->getTreepath();
$statement = $statement."UPDATE songs SET treepath='".$treepath."' WHERE id=".$id."; ";
$count++;
if ($count > 10000){
$result = mysqli_multi_query($mysqliObject, $statement);
if(!$result) {
die('<br/><br/>Error1: ' . mysqli_error($mysqliObject));
}
$count = 0;
$statement = "";
}
}