Explication détaillée de l'utilisation de mysql PDO::prepare

巴扎黑
Libérer: 2023-03-07 21:38:01
original
3570 Les gens l'ont consulté

PDO::prepare — Prépare l'instruction SQL à exécuter et renvoie un objet PDOStatement (PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)

Description

Syntaxe

public PDOStatement PDO::prepare ( string $statement [, array $driver_options = array() ] )
Copier après la connexion

Préparez l'instruction SQL à exécuter pour la méthode PDOStatement::execute() L'instruction SQL peut contenir zéro ou plusieurs noms (:name) ou question. marques (? ) marque de paramètre, les paramètres seront remplacés lors de l'exécution de SQL.

Vous ne pouvez pas inclure à la fois des marqueurs de paramètres nommés (:name) ou de point d'interrogation (?) dans une instruction SQL. Vous ne pouvez choisir qu'un seul de ces styles.

Les paramètres de l'instruction SQL prétraitée transmettront les paramètres réels lors de l'utilisation de la méthode PDOStatement::execute().

Parameters

Instruction : Instruction SQL légale.

driver_options : ce tableau contient une ou plusieurs paires clé=>valeur pour définir les propriétés de l'objet PDOStatement. La plus couramment utilisée est de définir la valeur PDO::ATTR_CURSOR sur PDO::CURSOR_SCROLL pour demander un curseur déroulant.

Valeur de retour

En cas de succès, PDO::prepare() renvoie un objet PDOStatement, s'il échoue, il renvoie FALSE ou lève une exception PDOException.

Exemple

Utiliser des paramètres nommés (:name) pour préparer des instructions 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();
    ?>
Copier après la connexion

Utiliser des paramètres de point d'interrogation (?) pour préparer des instructions 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();
    ?>
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal