0
一つのクライアント側の処理の多くが行われた場合、これはサーバーが占有し、他のスレッドを防ぐことができますから、mysqli_use_result()を使用するべきではありませんデータがフェッチされているテーブルを更新することはできません。
これはmyISAMテーブルまたはInnoDBにのみ関係しますか?
一つのクライアント側の処理の多くが行われた場合、これはサーバーが占有し、他のスレッドを防ぐことができますから、mysqli_use_result()を使用するべきではありませんデータがフェッチされているテーブルを更新することはできません。
これはmyISAMテーブルまたはInnoDBにのみ関係しますか?
だけにチェック:InnoDB
がロックしないMyISAM
ロック、:
<?php
$db = new mysqli() or die ("Cannot connect: " . mysqli_connect_error() . "\n");
$query = "SELECT * FROM mytable";
$db->real_query($query) or die ("Cannot fetch: $db->error\n");
$result = $db->use_result() or die ("Cannot use result: $db->error\n");
while($row = $result->fetch_row()) {
print join("\t", $row) . "\n";
usleep(1000000);
}
?>
このロック:
UPDATE mytable /* isam */ SET myvalue = 'test' WHERE id = 100
これにはない:
UPDATE mytable /* innodb */ SET myvalue = 'test' WHERE id = 100
を