ホームページ  >  記事  >  バックエンド開発  >  mysqli オブジェクトの multi_query() メソッド

mysqli オブジェクトの multi_query() メソッド

WBOY
WBOYオリジナル
2016-08-08 09:26:151193ブラウズ

複数の SQL コマンドを一度に実行するには、mysqli オブジェクトの multi_query() メソッドを使用します。

具体的な方法:

同じ文字列に複数の SQL コマンドを記述し、それらをパラメータとして multi_query() メソッドに渡します。複数の SQL コマンドを区切るにはセミコロン (;) を使用します。最初のコマンドの実行でエラーがなかった場合、このメソッドは TRUE を返し、それ以外の場合は FALSE を返します。

multi_query() メソッドは 1 つ以上のクエリを実行するために接続でき、各 SQL コマンドは結果を返す可能性があるため、必要に応じて各結果セットを取得する必要があります。したがって、このメソッドによって返される結果の処理にはいくつかの変更があります。最初のクエリ コマンドの結果は、mysqli オブジェクトの use_result() メソッドまたは store_result() メソッドを使用して読み取る必要があります。もちろん、すべての結果が返されます。クライアントで store_result() メソッドをすぐに使用する場合は、このアプローチの方が効率的です。さらに、mysqli オブジェクトの more_results() メソッドを使用して、他の結果セットがあるかどうかを確認できます。

次の結果セットを処理したい場合は、mysqli オブジェクトの next_results() メソッドを呼び出して次の結果セットを取得する必要があります。このメソッドは TRUE または FALSE を返します。

次の結果セットがある場合は、 use_result() または store_result() メソッドを使用してそれを読み取る必要もあります。


複数の SQL コマンドを実行するコードは次のとおりです:
$mysqli=new mysqli("localhost","mysql_user","mysql_pwd","my_db_name");
/* 接続を確認します */ if($ mysqli-> mysql_connect_errno()){"接続失敗:%s< br>"、mysql_connect_error());接続$ $ query。 ------------------------ & lt; br & gt; while($mysqli->next_result());
}
/* 接続を閉じる*/
$mysqli->close();
?>

注:

上の例では、mysqli オブジェクトを使用します。 multi_query() メソッドは 3 つの SQL コマンドを一度に実行し、複数の結果セットを取得して反復処理します。彼らからのデータ。コマンド処理中にエラーが発生した場合、multi_query() メソッドと next_result() メソッドで問題が発生します。

mysqli の属性 errno、error、info など、multi_query() メソッドの戻り値は、最初の SQL コマンドにのみ関係しており、実行中にエラーが発生したかどうかを判断することはできません。 2 番目以降のコマンド。したがって、multi_query() メソッドの戻り値が TRUE であっても、以降のコマンドの実行にエラーがないことを意味するわけではありません。
上記では、mysqli オブジェクトの multi_query() メソッドを、関連する内容も含めて紹介しています。PHP チュートリアルに興味のある友人にとって役立つことを願っています。


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。