php – PDO多查询“SQLSTATE [HY000]:常规错误”

我还在学习PDO,所以我可能会错过一些东西,但基本上我是想在一个表中插入一行,然后选择生成的id.

我不确定它是否同意一个pdo语句中的查询.这是我用来执行sql代码.

public function ExecuteQuery($sql, $params = array())
    {

        if($this->_handle == null)
            $this->Connect();

        $query = $this->_handle->prepare($sql);

        foreach($params as $key => $value)
        {
            if(is_int($value)){
                $query->bindValue(':'.$key, $value, \PDO::ParaM_INT);
            }else if(is_bool($value)){
                $query->bindValue(':'.$key, $value, \PDO::ParaM_BOOL);
            }else if(is_null($value)){
                $query->bindValue(':'.$key, $value, \PDO::ParaM_NULL);
            }else{
                $query->bindValue(':'.$key, $value, \PDO::ParaM_STR);
            }
        }

        $query->execute();

        $x = $query->fetchAll(\PDO::FETCH_ASSOC);

        var_dump($x);

        return $x;
    }

函数数据库类的一部分,$this-> _handle是PDO对象.

public function Connect()
    {
        try {
          $this->_handle = new \PDO('MysqL:host='.$this->_host.';dbname='.$this->_database, $this->_username, $this->_password);
          $this->_handle->setAttribute( \PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION ); 
        }
        catch(PDOException $e) {
            echo $e->getMessage();
        }
    }

我正在运行的sql是这样的:

INSERT INTO `users` (`Username`, `Password`, `PasswordSalt`, `Email`, `IsAdmin`, `LoginAttempts`, `LastLogin`, `LastLoginAttempt`, `Created`) VALUES (:username, :password, :passwordsalt, :email, :isadmin, :loginattempts, :lastlogin, :lastloginattempt, :created); SELECT LAST_INSERT_ID() as 'id'

用户已创建并位于users表中,但之后出现错误.

任何人都可以看到我做错了什么?

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...