SQL クエリ。
取得を開始する行。 最初の行が 0、2 番目の行が 1、といったようになることに 注意しましょう。
取得する行数。
プリペアドステートメントに適用する配列・文字列あるいは数値のデータ。 渡す項目数は、文中のプレースホルダの数と一致していなければなりません。 プレースホルダがひとつだけの場合は配列でない値を指定し、 複数存在する場合は個々の値を要素にもつ配列を指定します。
mixed - 結果を返すクエリ (例えば SELECT クエリなど) の場合は新しい DB_result オブジェクト、 データを操作するクエリ (例えば INSERT クエリなど) の場合は DB_OK、 あるいは失敗した場合には DB_Error オブジェクトを返します。
表 39-1PEAR_Error の値
エラーコード | エラーメッセージ | 原因 | 対応法 |
---|---|---|---|
DB_ERROR_NODBSELECTED | no database selected | データベースが選択されていません。 | connect() の際の DSN を調べます。 |
その他のエラーコード | データベース固有のエラー。 | PHP マニュアル のデータベース関連の部分を調べ、エラーの原因を判断してください。 たいていの場合は SQL 文が間違っていることが原因です。例えば Oracle データベースに対して SQL で LIMIT を使用しているなどが 考えられます。 |
この関数は、スタティックにコールする ことはできません。
データベースの種類によっては、 query() に比べてそれほど速度が速くならないこともあります。 limitQuery() の利点は、 結果セット内の不要な行をできるだけ早いうちに削除しておけるという点にあります。 これにより、メモリの消費量を減らすことができます。
また、$from と $count はエスケープされないことに注意しましょう。 入力値のエスケープは自己責任で行う必要があります。 さもないと、SQL インジェクション攻撃に対して脆弱になってしまいます。
例 39-1limitQuery() の使用法
|