PDO::prepare — Prepara uma instrução SQL para execução e retorna um objeto PDOStatement (PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)
public PDOStatement PDO::prepare ( string $statement [, array $driver_options = array() ] )
Prepare a instrução SQL a ser executada para o método PDOStatement::execute() A instrução SQL pode conter zero ou mais marcadores de parâmetro nomeados (:name) ou ponto de interrogação (?) Os parâmetros serão substituídos quando o SQL for executado.
Você não pode incluir marcadores de parâmetro nomeado (:name) ou ponto de interrogação (?) em uma instrução SQL. Você só pode escolher um desses estilos.
Os parâmetros na instrução SQL preparada passarão os parâmetros reais ao usar o método PDOStatement::execute().
instrução é uma instrução SQL legal.
driver_options Este array contém um ou mais pares key=>value para definir as propriedades do objeto PDOStatement. O uso mais comum é definir o valor PDO::ATTR_CURSOR como PDO::CURSOR_SCROLL para solicitar um cursor rolável.
Se for bem-sucedido, PDO::prepare() retornará um objeto PDOStatement. Se falhar, ele retornará FALSE ou lançará uma PDOException.
<?php/* Passa valores para instruções preparadas via valores de array*/$sql = 'SELECT nome, cor, calorias FROM fruta WHERE calorias < :calories AND color = :colour';$sth = $dbh->prepare( $ sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY));$sth->execute(array(':calorias' => 150, ':cor' => 'vermelho'));$vermelho = $sth->fetchAll();$sth->execute(array(':calorias' => 175, ':cor' => 'amarelo' ));$amarelo = $sth->fetchAll();?>
<?php/* Passa valores para instruções preparadas via valores de array*/$sth = $dbh->prepare('SELECT nome, cor, calorias FROM fruta WHERE calorias < ? AND cor = ?');$sth-> execute (array(150, 'vermelho'));$vermelho = $sth->fetchAll();$sth->execute(array(175, 'amarelo'));$amarelo = $sth->fetchAll();?>