ホームページ > バックエンド開発 > PHPチュートリアル > mysql PDO::prepare の使用方法の詳細な説明

mysql PDO::prepare の使用方法の詳細な説明

巴扎黑
リリース: 2023-03-07 21:38:01
オリジナル
3588 人が閲覧しました

PDO::prepare — 実行する SQL ステートメントを準備し、PDOStatement オブジェクトを返します (PHP 5 >= 5.1.0、PECL pdo >= 0.1.0)

Description

Syntax

public PDOStatement PDO::prepare ( string $statement [, array $driver_options = array() ] )
ログイン後にコピー

for PDOStatement :execute() メソッドは、実行する SQL ステートメントを準備します。SQL ステートメントには、0 個以上の名前付き (:name) または疑問符 (?) パラメーター マーカーを含めることができます。パラメーターは、SQL の実行時に置き換えられます。

SQL ステートメントに名前付き (:name) パラメーター マーカーと疑問符 (?) パラメーター マーカーの両方を含めることはできません。いずれかのスタイルのみを選択できます。

PDOStatement::execute() メソッドを使用する場合、前処理された SQL ステートメントのパラメーターは実際のパラメーターを渡します。

パラメータ

ステートメント: 有効な SQL ステートメント。

driver_options: この配列には、PDOStatement オブジェクトのプロパティを設定するための 1 つ以上の key=>value ペアが含まれています。最も一般的な使用法は、PDO::ATTR_CURSOR 値を PDO::CURSOR_SCROLL に設定して、スクロール可能なカーソルを要求することです。

戻り値

成功した場合、PDO::prepare() は PDOStatement オブジェクトを返し、失敗した場合は FALSE を返すか、例外 PDOException をスローします。

名前付き (:name) パラメータを使用して SQL ステートメントを準備します

<?php
/* 通过数组值向预处理语句传递值 */
$sql = &#39;SELECT name, colour, calories
    FROM fruit
    WHERE calories < :calories AND colour = :colour&#39;;
    $sth = $dbh->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY));
    $sth->execute(array(&#39;:calories&#39; => 150, &#39;:colour&#39; => &#39;red&#39;));
    $red = $sth->fetchAll();
    $sth->execute(array(&#39;:calories&#39; => 175, &#39;:colour&#39; => &#39;yellow&#39;));
    $yellow = $sth->fetchAll();
    ?>
ログイン後にコピー

疑問符 (?) パラメータを使用して SQL ステートメントを準備します

<?php
/* 通过数组值向预处理语句传递值 */
$sth = $dbh->prepare(&#39;SELECT name, colour, calories
    FROM fruit
    WHERE calories < ? AND colour = ?&#39;);$sth->execute(array(150, &#39;red&#39;));
    $red = $sth->fetchAll();
    $sth->execute(array(175, &#39;yellow&#39;));
    $yellow = $sth->fetchAll();
    ?>
ログイン後にコピー

以上がmysql PDO::prepare の使用方法の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート