導入 - クエリ

導入 - クエリ -- クエリを実行する

説明

PEAR DB は、データベースに対するクエリを実行するための方法をいくつか 提供しています。一番直接的な方法は query() です。これは SQL クエリ文字列を 引数として受け取ります。返される可能性のある値は以下の 3 種類です。 結果を返すクエリ (例えば SELECT クエリなど) の場合は新しい DB_result オブジェクト、 データを操作するクエリ (例えば INSERT クエリなど) の場合は DB_OK、 あるいは失敗した場合には DB_Error オブジェクトを返します。

例 33-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() に代わるものとして使用されます。

例 33-2スカラパラメータを含むクエリを準備・実行モードで使用する方法


<?php
// $db という名前の DB オブジェクトが作成済みであると仮定します...
$sql  = 'select * from clients where clientid = ?';
$data = 53;

$res =& $db->query($sql, $data);

// 結果がエラーでないか常にチェックして下さい
if (PEAR::isError($res)) {
    die($res->getMessage());
}
?>

例 33-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());
}
?>