Invalid parameter number en PHP y PDO – Solución

Cuando trabajamos con PDO y PHP, ya sea en MySQL u otros motores, puede aparecer el siguiente error que hoy voy a explicar y solucionar:

Invalid parameter number: number of bound variables does not match number of tokens in archivo.php

La solución: el número de parámetros

Básicamente se trata de que al preparar una consulta ponemos un número de variables, y al ejecutarla no ponemos el mismo número de datos.

Por ejemplo, una consulta así:

update personas set nombre = ?, edad = ?

Tenemos dos signos de interrogación o placeholders, así que deberíamos pasar dos datos así:

$sentencia->execute(array("Luis", 22));

Pero el error ocurre si pasamos un distinto número de datos, por ejemplo:

$sentencia->execute(array("Luis"));

Ya que solo estamos pasando una variable, pero la consulta esperaba 2.

Recuerda que esto ya lo había explicado con el error HY093 en MySQL.

Invalid parameter number en PHP y PDO – Solución

Por parzibyte Tiempo de lectura: 1 min
0