PHPマニュアル/PEARマニュアル | ユーザフォーラムで議論/質問 | マニュアル検索 | ハイライト | ハイライトオフ | ポータル | php spot

DB_common::limitQuery() | JavaScript入門&応用&リファレンスなら「JavaScriptist」

  

DB_common::limitQuery()

DB_common::limitQuery() – データベースに LIMIT クエリを送信する

Synopsis

mixed &limitQuery ( string $query , integer $from , integer $count , mixed $params = array() )

Description

SQL クエリを実行しますが、指定した行数のみしか取得しません。 MySQL の LIMIT オプションの挙動をエミュレートしたものです。

Parameter

string $query

SQL クエリ。

integer $from

取得を開始する行。 最初の行が 0、2 番目の行が 1、といったようになることに 注意しましょう。

integer $count

取得する行数。

mixed $params

プリペアドステートメントに適用する配列・文字列あるいは数値のデータ。 渡す項目数は、文中のプレースホルダの数と一致していなければなりません。 プレースホルダがひとつだけの場合は配列でない値を指定し、 複数存在する場合は個々の値を要素にもつ配列を指定します。

Return value

mixed - 結果を返すクエリ (例えば SELECT クエリなど) の場合は新しい DB_result オブジェクト、 データを操作するクエリ (例えば INSERT クエリなど) の場合は DB_OK、 あるいは失敗した場合には DB_Error オブジェクトを返します。

Throws

Possible PEAR_Error values
エラーコード エラーメッセージ 原因 対応法
DB_ERROR_NODBSELECTED no database selected データベースが選択されていません。 connect() の際の DSN を調べます。
その他のエラーコード データベース固有のエラー。 PHP マニュアル のデータベース関連の部分を調べ、エラーの原因を判断してください。 たいていの場合は SQL 文が間違っていることが原因です。例えば Oracle データベースに対して SQL で LIMIT を使用しているなどが 考えられます。

Note

This function can not be called statically.

データベースの種類によっては、 query() に比べてそれほど速度が速くならないこともあります。 limitQuery() の利点は、 結果セット内の不要な行をできるだけ早いうちに削除しておけるという点にあります。 これにより、メモリの消費量を減らすことができます。

また、$from$count はエスケープされないことに注意しましょう。 入力値のエスケープは自己責任で行う必要があります。 さもないと、SQL インジェクション攻撃に対して脆弱になってしまいます。

Example

limitQuery() の使用法

<?php
// $db という名前の DB オブジェクトを取得しているとします...
$res =& $db->limitQuery('SELECT * FROM foo'4910);

if (
PEAR::isError($res)) {
    die(
$res->getMessage());
}
?>
忘却曲線を使ってこの知識を確実に記憶に残す

フォーラムで「DB_common::limitQuery()」について話す
各種マニュアル: PHPマニュアル | PEARマニュアル | Smarty(英語)マニュアル | PHP-GTKマニュアル | DB_common::limitQuery()」をGoogle検索
copyright © 1997-2024 PHP ドキュメント作成グループ(ライセンス). provided by php spot. マニュアル: