Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Consultas preparadas PDO[DUDA]

Estas en el tema de Consultas preparadas PDO[DUDA] en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 26/07/2013, 16:27
Avatar de CesarHC  
Fecha de Ingreso: junio-2011
Ubicación: localhost
Mensajes: 566
Antigüedad: 12 años, 10 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.
  #2 (permalink)  
Antiguo 26/07/2013, 16:40
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Consultas preparadas PDO[DUDA]

simplemente son marcadores de donde vas a pasar el valor, diferencia a una le das nombre y a la otra posición, pero simplemente son marcadores de donde se pasará el valor
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way

Etiquetas: select, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:30.