Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/07/2013, 16:27
Avatar de CesarHC
CesarHC
 
Fecha de Ingreso: junio-2011
Ubicación: localhost
Mensajes: 566
Antigüedad: 12 años, 11 meses
Puntos: 56
Consultas preparadas PDO[DUDA]

Buenas tardes,vengo trabajando recientemente con PDO::prepare, y veo que puedo usar estas 2 opciones, las 2 me funcionan bien ademas de PDO::query,pero lo que quisiera saber es cual es la diferencia entre un metodo u otro(usar :name o ?) ya que en el manual no lo explica claramente o lo yo no entiendo.

Ejemplo #1 Prepara una sentencia SQL con parámetros de sustitución nombrados
Ejemplos #1
Código PHP:
Ver original
  1. <?php
  2. /* Ejecuta una sentencia preparada pasando un array de valores */
  3. $sql = 'SELECT name, colour, calories
  4.    FROM fruit
  5.    WHERE calories < :calories AND colour = :colour';
  6. $sth = $dbh->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY));
  7. $sth->execute(array(':calories' => 150, ':colour' => 'red'));
  8. $red = $sth->fetchAll();
  9. $sth->execute(array(':calories' => 175, ':colour' => 'yellow'));
  10. $yellow = $sth->fetchAll();
  11. ?>
Ejemplo #2 Prepara una sentencia SQL con parámetros de signos de interrogación
Código PHP:
Ver original
  1. <?php
  2. /* Ejecuta una sentencia preparada pasando un array de valores */
  3. $sth = $dbh->prepare('SELECT name, colour, calories
  4.    FROM fruit
  5.    WHERE calories < ? AND colour = ?');
  6. $sth->execute(array(150, 'red'));
  7. $red = $sth->fetchAll();
  8. $sth->execute(array(175, 'yellow'));
  9. $yellow = $sth->fetchAll();
  10. ?>
__________________
Solo la práctica no te traicionara ¡¡¡¡¡¡

Seguir el camino tu debes PHP The Right Way.