Mysql
 sql >> Database >  >> RDS >> Mysql

Dichiarazioni preparate PHP PDO

Ci sono due ottimi esempi su pdo::prepare() documentazione.

Li ho inclusi qui e li ho semplificati un po'.

Questo usa ? parametri. $dbh è fondamentalmente un oggetto PDO. E quello che stai facendo è inserire i valori 150 e 'red' rispettivamente nel primo e nel secondo punto interrogativo.

/* 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();

Questo utilizza parametri denominati ed è un po' più complesso.

/* 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();