TransWikia.com

IlluminateDatabaseQueryException: SQLSTATE[HY000]: General error: 2031

Stack Overflow en español Asked on December 22, 2021

quiero enviar un request all en laravel por un procedmiento almacenado pero me da error alguna idea de como hacerlo

 public function store(Request $request)
    {
        return $data = DB::select('call InsertarUsuario(?, ?, ?, ?, ?)',$request->all());
    }

me tira el siguiente error

IlluminateDatabaseQueryException: SQLSTATE[HY000]: General error: 2031 (SQL: call InsertarUsuario(Camilo, Pepe, [email protected], 2, ENABLE)) in file C:laragonwwwinnovar2vendorlaravelframeworksrcIlluminateDatabaseConnection.php on line 671

introducir la descripción de la imagen aquí

envio 5 elementos

2 Answers

Hacer esto:

$request->all();

Nos estaría mandando una estructura como la siguiente:

{"_token":"dvj6GNzG5g0FygBlvT1ByPAoXvYmEuY9aU8CfBgB","clave":"valor","clave":"valor"}

Entonces tendrías que hacerlo así:

  • En lugar de pasar como segundo argumento el $request->all() pasamos un array
  • El array para tu caso tendrá 5 posiciones, donde cada una indicará a que clave debe acceder $request->

Entonces puede quedar de este modo:

DB::select('call InsertarUsuario(?, ?, ?, ?, ?)', [$request->clave1, $request->clave2, $request->clave3, $request->clave4, $request->clave5]);

Donde las denominadas claves del 1 al 5 serán las que tengas que cambiar de nombre de acuerdo con los valores que tu esperas

Answered by BetaM on December 22, 2021

El error indicado (2031) indica que algunos parametros no se han pasado a la funcion.

https://dev.mysql.com/doc/refman/8.0/en/client-error-reference.html#error_cr_params_not_bound

Puede ser que Falta agregar alguno de los parametros esperados de InsertarUsuario() o no se han pasado los valores de todos los parametros en ? (en este caso 5) . Revisa la definicion de la funcion y que valores esta generando la llamada a $request->all() (es un array de 5 elementos?).

Answered by F.Igor on December 22, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP