Solución:
Este mismo error 2031 se puede emitir cuando se vinculan dos valores con el mismo nombre de parámetro, como en:
$sth->bindValue(':colour', 'blue');
$sth->bindValue(':colour', 'red');
..así que ten cuidado.
No se puede utilizar ->bind*
y ->execute($params)
. Utilice o; si pasa parámetros a execute()
, esos harán que PDO olvide los parámetros ya vinculados a través de ->bind*
.
Esta excepción también aparece si intenta ejecutar un consulta con marcadores de posición en lugar de preparando una declaración como
$stmt = $db->query('SELECT * FROM tbl WHERE ID > ?');
en lugar de
$stmt = $db->prepare('SELECT * FROM tbl WHERE ID > ?');
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)