PDO::query
(no version information, might be only in CVS)
PDO::query --
SQL ステートメントを実行、結果セットを PDOStatement オブジェクトとして返す
説明
PDOStatement
PDO::query ( string statement )
bool
PDO::query ( string statement, int PDO::FETCH_COLUMN, int colno )
bool
PDO::query ( string statement, int PDO::FETCH_CLASS, string classname, array ctorargs )
bool
PDO::query ( string statement, int PDO::FETCH_INTO, object object )
PDO::query() は、一回の関数コールの中で
SQL ステートメントを実行し、このステートメントにより返された
結果セット (ある場合) を PDOStatement オブジェクトとして返します。
複数回発行する必要があるステートメントの場合、
PDO::prepare() で PDOStatement ステートメントを準備し、
PDOStatement::execute() でそのステートメントを
複数回発行する方がより良いパフォーマンスを得られると実感するでしょう。
PDO::query() を次にコールする前に
結果セット内の全てのデータを取得しない場合、そのコールは失敗します。
PDOStatement::closeCursor() をコールし、
次に PDO::query() をコールする前に
PDOStatement オブジェクトに関連付けられたリソースを解放してください。
注意:
この関数はパラメータをひとつだけしかとらないと記述されていますが、
追加のパラメータを渡すことも可能です。これらのパラメータは、
返される結果のオブジェクトに対して
PDOStatement::setFetchMode()
をコールするのと同じような扱いになります。
パラメータ
- statement
準備、発行する SQL ステートメント。
返り値
PDO::query()は、PDOStatementオブジェクトを返します。
例
例 1. PDO::queryの例
PDO::query()の優れた機能は、
実行に成功したSELECTステートメントにより返されたレコードセットで
反復処理が可能であることです。
<?php function getFruit($conn) { $sql = 'SELECT name, colour, calories FROM fruit ORDER BY name'; foreach ($conn->query($sql) as $row) { print $row['NAME'] . "\t"; print $row['COLOUR'] . "\t"; print $row['CALORIES'] . "\n"; } } ?>
|
上の例の出力は以下となります。 apple red 150
banana yellow 250
kiwi brown 75
lemon yellow 25
orange orange 300
pear green 150
watermelon pink 90 |
|
参考
PDO::exec() |
PDO::prepare() |
PDOStatement::execute() |