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

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

  

DB_common::execute()

DB_common::execute() – 準備された SQL 文を実行する

Synopsis

mixed &execute ( resource $stmt , mixed $data = array() )

Description

prepare() で指定した SQL 文に $data の情報を適用し、クエリを データベースに送信します。

Parameter

resource $stmt

prepare() が返すクエリハンドル。

mixed $data

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

Return value

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

Throws

Possible PEAR_Error values
エラーコード エラーメッセージ 原因 対応法
DB_ERROR_INVALID invalid 有効な SQL 文ハンドルではありません。 現在実行している SQL 文と prepare() を調べます。 execute() に必要なのは、 prepare() が返すハンドルであって SQL 文自身ではないことに注意しましょう。
DB_ERROR_MISMATCH mismatch パラメータの数が、プリペアドステートメント中の プレースホルダの数と一致しません。 $query に渡した prepare() 済みの文中の プレースホルダの数が、$params で渡した項目の数と一致するかどうかを調べます。
DB_ERROR_NODBSELECTED no database selected データベースが選択されていません。 connect() の際の DSN を調べます。
その他のエラーコード データベース固有のエラー。 PHP マニュアル のデータベース関連の部分を調べ、エラーの原因を判断してください。 たいていの場合は SQL 文が間違っていることが原因です。例えば Oracle データベースに対して SQL で LIMIT を使用しているなどが 考えられます。

Note

This function can not be called statically.

$data に渡す値は、リテラルである必要があります。 SQL 関数 (例えば CURDATE() など) を渡さないでください。 実行時に処理される SQL 関数は、プリペアドステートメント内に記述する 必要があります。

Example

execute() にスカラーを渡す

<?php
// $db という名前の DB オブジェクトを取得しているとします...
$sth $db->prepare('INSERT INTO numbers (number) VALUES (?)');
if (
PEAR::isError($sth)) {
    die(
$sth->getMessage());
}

$res =& $db->execute($sth1);
if (
PEAR::isError($res)) {
    die(
$res->getMessage());
}
?>

execute() に配列を渡す

<?php
// $db という名前の DB オブジェクトを取得しているとします...
$sth $db->prepare('INSERT INTO numbers VALUES (?, ?, ?)');

$data = array(1'one''en');
$db->execute($sth$data);
?>
忘却曲線を使ってこの知識を確実に記憶に残す

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