説明
PEAR DB は、データベースに対するクエリを実行するための方法をいくつか
提供しています。一番直接的な方法は
query() です。これは SQL クエリ文字列を
引数として受け取ります。返される可能性のある値は以下の 3 種類です。
結果を返すクエリ (例えば SELECT クエリなど)
の場合は新しい DB_result オブジェクト、
データを操作するクエリ (例えば INSERT クエリなど)
の場合は DB_OK、
あるいは失敗した場合には DB_Error オブジェクトを返します。
例 39-1クエリを実行する <?php
// プログラムの最初で、$db という名前の
// 有効な DB オブジェクトを作成します...
require_once 'DB.php';
$db =& DB::connect('pgsql://usr:pw@localhost/dbnam');
if (PEAR::isError($db)) {
die($db->getMessage());
}
// クエリを実行します...
$res =& $db->query('SELECT * FROM clients');
// 結果がエラーでないか常にチェックして下さい
if (PEAR::isError($res)) {
die($res->getMessage());
}
?> |
|
パラメータ $params を指定しており、かつ
クエリでプレースホルダを使用している場合は、
query() は
prepare() および
execute() に代わるものとして使用されます。
例 39-2スカラパラメータを含むクエリを準備・実行モードで使用する方法 <?php
// $db という名前の DB オブジェクトが作成済みであると仮定します...
$sql = 'select * from clients where clientid = ?';
$data = 53;
$res =& $db->query($sql, $data);
// 結果がエラーでないか常にチェックして下さい
if (PEAR::isError($res)) {
die($res->getMessage());
}
?> |
|
例 39-3配列パラメータを含むクエリを準備・実行モードで使用する方法 <?php
// $db という名前の DB オブジェクトが作成済みであると仮定します...
$sql = 'select * from clients where clientid = ? and statusid = ?';
$data = array(53, 4);
$res =& $db->query($sql, $data);
// 結果がエラーでないか常にチェックして下さい
if (PEAR::isError($res)) {
die($res->getMessage());
}
?> |
|