PDOStatement :: execute():SQLSTATE [HY093]:参数号无效:参数未定义

时间:2017-05-20 16:19:55

标签: pdo

我制作了这段代码:

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]:参数号无效:参数未在

中定义

有人可以帮助我吗?

2 个答案:

答案 0 :(得分:0)

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

将此代码更新为:

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";
    }
}

希望这会对你有所帮助:)

答案 1 :(得分:0)

   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";
       }
    }

尝试这个建议我觉得它可以帮到你