首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mysqli bind_param错误

Mysqli bind_param错误
EN

Stack Overflow用户
提问于 2016-04-22 11:53:10
回答 1查看 379关注 0票数 0

我的准备好的语句有一个问题,我在堆栈中搜索了答案,并尝试了很多次都没有结果,我检查了插入语句是正确的,我还尝试使用这个语句作为一个正常的语句,似乎是有效的,我得到的错误如下

代码语言:javascript
复制
Fatal error:call to function bind_param()on a non object in ** on line 23

当我对第一个查询使用普通查询时,第二个查询不会显示错误。

代码是

代码语言:javascript
复制
public function reg_user($name,$username,$password,$email){
        $password = password_hash($password);
        $stmt = $this->db->prepare("SELECT uid FROM users WHERE uname= ? OR uemail = ?");
        $stmt->bind_param("ss", $username,$email);
        $stmt->execute();
        $count_row = $stmt->num_rows; 
        if($count_row == 0){
            $stmt = $this->db->prepare("INSERT INTO users (uname,upass,fullname,uemail) VALUES(?,?,?,?)");
            $stmt->bind_param("ssss", $username,$password,$name,$email); //line 23 
            $return = $stmt->execute();
            return $return;
        } else{
            return false;
        }
    }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-04-22 12:02:31

在第一个$stmt->execute之后添加这两行代码

代码语言:javascript
复制
$result = $stmt->get_result();
$count_row = $result->num_rows;

代码失败的原因是试图从准备好的语句对象中获取行数,而不是结果。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36793142

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档