Ver Mensaje Individual
  #2 (permalink)  
Antiguo 28/10/2013, 21:53
Avatar de GatorV
GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: PDO MySQL: Diferencia entre bindParam y bindValue?

Como dicen el mismo nombre la diferencia es esa, bindValue ata un parámetro a un valor dado, y bindParam a una variable, por lo que puedes hacer consultas preparadas en un ciclo, por ejemplo:
Código PHP:
Ver original
  1. $stmt = $con->prepare("INSERT INTO colors VALUES (?)");
  2. $stmt->bindParam(1, $color, PDO::PARAM_STR);
  3.  
  4. $colors = array('black', 'blue', 'red', 'yellow');
  5. foreach ($colors as $color) {
  6.         $stmt->execute();
  7. }

Con bindValue solo lo haces al valor que le defines al momento que mandas llamar.

El que uses cualquiera de los dos, te ayuda a prevenir inyecciones por el simple hecho de que primero se manda la consulta preparada al servidor y luego mandas los valores, con lo cual previenes la inyección.

Saludos.