【问题标题】:PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: parameter was not defined inPDOStatement::execute(): SQLSTATE[HY093]: 参数号无效:参数未在
【发布时间】:2017-05-20 16:19:54
【问题描述】:

我做了这个代码:

class Consultas{

    public function insertarUsuario($arg_nombre, $arg_usuario, $arg_passwd){
        $modelo = new Conexion();
        $conexion = $modelo->get_conexion();
        $sql = "insert into tablausuarios (nombre, usuario,password) values(:nombre, :usu, :passw)";
        $statement = $conexion->prepare($sql);
        $statement->bindParam(':nombre', $arg_nombre);
        $statement->bindParam(':usuario', $arg_usuario);
        $statement->bindParam(':password', $arg_passwd);
        if($statement->execute(array(":nombre"=>$arg_nombre, ":usuario"=>$arg_usuario, ":password"=>$arg_passwd))){
            return "Registro creado satisfactoriamente";

        }else{

            return "error al crear registro";
        }
    }

并出现此错误:PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: parameter was not defined in

有人可以帮帮我吗?

【问题讨论】:

    标签: pdo


    【解决方案1】:

    您正在重复绑定参数的事情。并且您的参数在您的执行方法上不一样。我已经更新了代码供你尝试。

    将此代码更新为:

    class Consultas{
    
    public function insertarUsuario($arg_nombre, $arg_usuario, $arg_passwd){
        $modelo = new Conexion();
        $conexion = $modelo->get_conexion();
        $sql = "insert into tablausuarios (nombre, usuario,password) values(:nombre, :usu, :passw)";
        $statement = $conexion->prepare($sql);
        if($statement->execute(array(":nombre"=>$arg_nombre, ":usu"=>$arg_usuario, ":passw"=>$arg_passwd))){
            return "Registro creado satisfactoriamente";
    
        }else{
    
            return "error al crear registro";
        }
    }
    

    希望对你有帮助:)

    【讨论】:

      【解决方案2】:
         class Consultas{
      
            public function insertarUsuario($arg_nombre, $arg_usuario, $arg_passwd){
            $modelo = new Conexion();
            $conexion = $modelo->get_conexion();
            $statement = $conexion->prepare("insert into tablausuarios (nombre, usuario,password) values (?,?,?)");
            if($statement->execute(array($arg_nombre,$arg_usuario,$arg_passwd))){
                return "Registro creado satisfactoriamente";
      
            }else{
      
                return "error al crear registro";
             }
          }
      

      试试这个建议,我认为它对你有帮助

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-07-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多