1

データベースを更新してから変更を表示することになっている自己呼び出しのphpフォームがあります。これは、コードがどのように見えるかについての一般的な考え方です。

IF($condition)
    mysqli_multi_query($dbc,$multiple_update_query_str);
$result = mysqli_query($dbc,$select_query);
while($row = mysqli_fetch_array($result))
    echo    $row[0] . " " . $row[1] . " " . $row[2] . "<br>";

初めて、$condition が false の場合、選択クエリは完全に機能します。次に、$condition が true の場合、データベースで更新が行われますが、選択クエリは失敗します。

私の最初の考えは、php サーバーが mySQL サーバーよりも進んでいるということでした。そのため、if ステートメントを終了する前に sleep(5) を使用しましたが、select は依然として失敗しました。

私は、ほぼこのコードである非常に基本的な php ファイルを作成しました。同じ問題がありました。足りないものはありますか?

4

1 に答える 1

1

mysqli_queryを使用する前に、multy_queryのすべての結果を取得して、リンク接続のロックを解除する必要があります

試す:

if($condition){
    mysqli_multi_query($dbc,$multiple_update_query_str);
    while(mysqli_next_result($dbc)){;}
}
于 2011-08-01T19:05:14.407 に答える