为了账号安全,请及时绑定邮箱和手机立即绑定

不能向数据库插入数据

if (! $stmt->execute()) {            throw new Exception('注册失败', ErrorCode::REGISTER_FAIL);        } 一直报错,通过print $this->_db->errorCode();查看到错误代码00000又没有错,这是怎么回事?

正在回答

3 回答

字段 createdAt 改成 created_at

0 回复 有任何疑惑可以回复我~

      if (empty($username)) {

            throw new Exception('用户名不能为空', ErrorCode::PASSWORD_CANNOT_EMPTY);

        }

        if (empty($password)) {

            throw new Exception('密码不能为空', ErrorCode::PASSWORD_CANNOT_EMPTY);

        }

        if ($this->isUsernameExists($username)) {

            throw new Exception('用户名已经存在', ErrorCode::USERNAME_EXISTS);

        }

        // 写入数据库

        $sql = 'INSERT INTO `user`(`username`, `password`, `createdAt`) VALUES(:username,:password,:ceatedAt)';

        $ceatedAt = time();

        $password = $this->_md5($password);

        

        $stmt = $this->_db->prepare($sql); // 解析sql语句

        

        $stmt->bindParam(':username', $username);

        $stmt->bindParam(':password', $password);

        $stmt->bindParam(':ceatedAt', $ceatedAt);

        

        if (! $stmt->execute()) {

            print $this->_db->errorCode();

            print_r($this->_db->errorInfo());

            throw new Exception('注册失败', ErrorCode::REGISTER_FAIL);

        }

        

        return [

            'id' => $this->_db->lastInsertId(),

            'username' => $username,

            'ceatedAt' => $ceatedAt

        ];


0 回复 有任何疑惑可以回复我~
#1

野生码农在线co腚

把 $sql = 'INSERT INTO `user`(`username`, `password`, `createdAt`) VALUES(:username,:password,:ceatedAt)';这句话放到phpmyadmin执行下. 一开始我也遇到了同样的错误,发现是sql语句写错了
2017-04-17 回复 有任何疑惑可以回复我~
#2

慕圣0362214 回复 野生码农在线co腚

这个SQL当然有问题,这个是预处理语句,后面那些都是占位符,要绑定值进去
2017-04-18 回复 有任何疑惑可以回复我~
#3

野生码农在线co腚 回复 慕圣0362214

我知道. 我是说让楼主把他写的sql语句转换为正常的sql执行下.
2017-04-18 回复 有任何疑惑可以回复我~
#4

慕圣0362214 回复 野生码农在线co腚

噢噢,明白
2017-04-19 回复 有任何疑惑可以回复我~
查看1条回复

是不是没commit

0 回复 有任何疑惑可以回复我~
#1

雨Qi无声 提问者

老师的代码也没有呀
2017-04-16 回复 有任何疑惑可以回复我~
#2

慕圣0362214 回复 雨Qi无声 提问者

老师的没开事务,不用commit 看下你全部代码
2017-04-17 回复 有任何疑惑可以回复我~
#3

雨Qi无声 提问者 回复 慕圣0362214

全部代码,我是照着老师的敲的呢
2017-04-17 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

不能向数据库插入数据

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信