Maison  >  Article  >  développement back-end  >  Explication détaillée de l'utilisation de mysql PDO::prepare

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

巴扎黑
巴扎黑original
2017-05-24 17:37:013556parcourir

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() ] )

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();
    ?>

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();
    ?>

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!

Déclaration:
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