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.

Encantado de ayudarte


Estoy disponible para trabajar en tu proyecto, modificar el programa del post o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.

No te pierdas ninguno de mis posts

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.

Dejar un comentario