Invalid parameter number en PHP y PDO – Solución

Publicado por parzibyte en

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.


parzibyte

He trabajado por más de 4 años en el desarrollo de software con experiencia en Java, PHP, JavaScript, HTML, Node.JS, Python, Android y Go. También he trabajado con bases de datos SQL como MySQL y SQLite, así como con bases de datos NoSQL usando MongoDB.Soy bueno utilizando algunos frameworks y herramientas como Firebase, jQuery, AngularJS, VueJS, CodeIgniter, Laravel, BulmaCSS, Bootstrap y Electron.Otros términos que conozco son: Arduino, GraphQL, API's, REST, AJAX, PouchDB, CouchDB, Experiencia de usuario, buenas prácticas de programación, Webpack, NPM, Administración de servidores y programación de scriptsLa plataforma en la que tengo más experiencia es la web, pero en mis ratos libres realizo unos pequeños ejercicios en C# y C.Estoy aquí para ayudarte a resolver tus problemas de programación y depuración :-)

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

A %d blogueros les gusta esto: