Nueva pregunta

Pregunta:

Fecha: 23-09-2020 17:51:39 (En Español)

Saludos!! agradezco me puedan ayudar con el error -PDOStatement::execute(): SQLSTATE[HY093] en PHP[No resuelta]

Buenas noches, por favor ayudenme el error reportado es -PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens in-
no logro identificar el error, se supone que es por diferencias pero la verdad no las encuentro.

Class Datos extends Conexion{

public function registroUsuariosModel($datosModel, $tabla){
$stmt = Conexion::conectar()->prepare("INSERT INTO $tabla (UsuNumeroDocumento,UsuTipoDocumento,
UsuNombres, UsuApellidos, UsuNumeroCelular,
UsuCiudad, UsuBarrio, UsuDireccion, UsuMayorEdad, Usupassword,
Usurol)
VALUES(:documentoregistro,:tipodocumentoregistro,:nombresregistro,:apellidosregistro,
:celularregistro,:ciudadregistro,
:barrioregistro,:direccionregistro,:mayoredadregistro,:contraseñaregistro,rolregistro)");
$stmt-> bindParam(":documentoregistro",$datosModel["UsuNumeroDocumento"],PDO::PARAM_INT);
$stmt-> bindParam(":tipodocumentoregistro",$datosModel["UsuTipoDocumento"],PDO::PARAM_STR);
$stmt-> bindParam(":nombresregistro",$datosModel["UsuNombres"],PDO::PARAM_STR);
$stmt-> bindParam(":apellidosregistro",$datosModel["UsuApellidos"],PDO::PARAM_STR);
$stmt-> bindParam(":celularregistro",$datosModel["UsuNumeroCelular"],PDO::PARAM_INT);
$stmt-> bindParam(":ciudadregistro",$datosModel["UsuCiudad"],PDO::PARAM_STR);
$stmt-> bindParam(":barrioregistro",$datosModel["UsuBarrio"],PDO::PARAM_STR);
$stmt-> bindParam(":direccionregistro",$datosModel["UsuDireccion"],PDO::PARAM_STR);
$stmt-> bindParam(":mayoredadregistro",$datosModel["UsuMayorEdad"],PDO::PARAM_STR);
$stmt-> bindParam(":passwordregistro",$datosModel["Usupassword"],PDO::PARAM_STR);
$stmt-> bindParam(":rolregistro",$datosModel["Usurol"],PDO::PARAM_STR);

if ($stmt -> execute()){ ------ ESTA ES LA LINEA EN LA QUE DICE QUE ESTA EL ERROR
return "Correcto";
}
else "Error";
}
Etiquetas: MySQL - PHP Votos: 0 - Respuestas: 2 - Vistas: 4 Compartir en: Google Facebook Twitter LinkedIn Link
 

Respuestas:

  • Fecha: 23-09-2020 18:41:29 Hola Daniela,
    Tienes un pequeño error.

    En estas líneas:
    $stmt = Conexion::conectar()->prepare("INSERT INTO $tabla (UsuNumeroDocumento,UsuTipoDocumento,
    UsuNombres, UsuApellidos, UsuNumeroCelular,
    UsuCiudad, UsuBarrio, UsuDireccion, UsuMayorEdad, Usupassword,
    Usurol)
    VALUES(:documentoregistro,:tipodocumentoregistro,:nombresregistro,:apellidosregistro,
    :celularregistro,:ciudadregistro,
    :barrioregistro,:direccionregistro,:mayoredadregistro,:contraseñaregistro,rolregistro)");
    


    Debería decir:
    $stmt = Conexion::conectar()->prepare("INSERT INTO $tabla (UsuNumeroDocumento,UsuTipoDocumento,
    UsuNombres, UsuApellidos, UsuNumeroCelular,
    UsuCiudad, UsuBarrio, UsuDireccion, UsuMayorEdad, Usupassword,
    Usurol)
    VALUES(:documentoregistro,:tipodocumentoregistro,:nombresregistro,:apellidosregistro,
    :celularregistro,:ciudadregistro,
    :barrioregistro,:direccionregistro,:mayoredadregistro,:contraseñaregistro,:rolregistro)");
    


    El error es en la variable rolregistro

    Espero te ayude.

    Saludos!
      Votos: 0 - Link respuesta
     
  • Fecha: 23-09-2020 18:44:11 Ojo que no es recomendable utilizar caracteres como la 'ñ' para nombres de variables pues puede verse afectada por la codificación seleccionada.

    Si puedes cambiala por una 'n'.
      Votos: 0 - Link respuesta
     
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión
 
frjcbbae garagebible.com