(PHP 4 >= 4.0.6, PHP 5)
mysql_unbuffered_query — MySQL に SQL クエリを送信するが、結果に対してのフェッチやバッファリングは行わない
この拡張モジュールは PHP 5.5.0 で非推奨になり、PHP 7.0.0 で削除されました。 MySQLi あるいは PDO_MySQL を使うべきです。詳細な情報は MySQL: API の選択 や それに関連する FAQ を参照ください。 この関数の代替として、これらが使えます。
$query
[, resource $link_identifier
= NULL
] ) : resource
mysql_unbuffered_query() は SQL クエリ
query
を MySQL に送信します。その際、
mysql_query() が行っているような自動バッファリングを
行いません。一方、この挙動により SQL クエリが消費するメモリの量を
おさえられます。また、最初の 1 行目が取得されたらすぐに処理を
はじめることができます。SQL の処理が完全に終わるまで待つ必要がありません。
複数の DB 接続を利用する場合には、オプションのパラメータ
link_identifier
を指定する必要があります。
query
実行する SQL クエリ。
クエリ内のデータは 適切にエスケープ する必要があります。
link_identifier
MySQL 接続。
指定されない場合、mysql_connect() により直近にオープンされたリンクが
指定されたと仮定されます。そのようなリンクがない場合、引数を指定せずに
mysql_connect() がコールした時と同様にリンクを確立します。
リンクが見付からない、または、確立できない場合、
E_WARNING
レベルのエラーが生成されます。
SELECT, SHOW, DESCRIBE あるいは EXPLAIN では、
mysql_unbuffered_query() は
成功した場合に resource 、エラー時に FALSE
を返します。
UPDATE, DELETE, DROP, などその他の SQL 文では、
mysql_unbuffered_query() は
成功した場合に TRUE
、エラー時に FALSE
を返します。
注意:
mysql_unbuffered_query() の利点には、以下のような 代償があります: mysql_unbuffered_query() から返される結果セットには、 すべての行をフェッチするまでは mysql_num_rows() や mysql_data_seek() を使用できません。また、結果の行をすべてフェッチするまで、 同じ
link_identifier
を使って MySQL に新しいクエリを送信することができません。