sql >> Base de Datos >  >> RDS >> Mysql

Declaraciones preparadas de PHP PDO

Hay dos excelentes ejemplos en pdo::prepare() documentación.

Los he incluido aquí y los he simplificado un poco.

Este usa ? parámetros $dbh es básicamente un objeto PDO. Y lo que estás haciendo es poner los valores 150 y 'red' en el primer y segundo signo de interrogación respectivamente.

/* Execute a prepared statement by passing an array of values */
$sth = $dbh->prepare('SELECT name, colour, calories
                      FROM fruit
                      WHERE calories < ? AND colour = ?');

$sth->execute(array(150, 'red'));

$red = $sth->fetchAll();

Este usa parámetros con nombre y es un poco más complejo.

/* Execute a prepared statement by passing an array of values */
$sql = 'SELECT name, colour, calories
        FROM fruit
        WHERE calories < :calories AND colour = :colour';

$sth = $dbh->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY));
$sth->execute(array(':calories' => 150, ':colour' => 'red'));

$red = $sth->fetchAll();