php查询数据库返回受到影响的行数--随笔记bug

前言:在这次做一个项目,数据库进行封装的时候,数据库本来是成功返回true,失败返回false,但是因为一系列原因,改变原来的数据库封装类,成功的update,delete,insert的时候,返回受到影响的行数!

利用函数:mysqli_affected_rows();

本文以update为例

其中,我开始使用这个函数的时候是这样子的:

	/**
     * 修改数据
     * @param $sql 修改语句
     * @return mixed false:插入失败 int 返回影响行数
     */
    public function update($sql){
        $result = mysqli_query($this->link, $sql);
        if($result){
            return mysqli_affected_rows($result);
        }else{
            return false;
        }
    }

按照网上的写的,完全莫得问题。是的,乍一看莫得问题,但是会抛出一个warning

Warning: mysqli_affected_rows() expects parameter 1 to be mysqli, bool given in F:\projects\webProjects\examnationPlatform\php\dbMysql.php on line 82

经过我的尝试之后,改成

/**
     * 修改数据
     * @param $sql 修改语句
     * @return mixed false:插入失败 int 返回影响行数
     */
    public function update($sql){
        $result = mysqli_query($this->link, $sql);
        if($result){
            return mysqli_affected_rows($this->link);
        }else{
            return false;
        }
    }

ok完全莫得问题了,mysql_affected_rows里面的参数应该是本次连接数据库,而不是mysqli_query的结果,网络不靠谱,坑爹坑到死▄█▀█●

附:

 /**
     * 连接数据库,已经连接上数据库
     */
    public function connection(){
        $this->link = mysqli_connect($this->host, $this->user, $this->pass, $this->dbName);
        if(!$this->link){
            echo "连接失败:".mysqli_connect_error()."<br>";
        }
        $this->link->query('set names '.$this->charset);//设置字符集
    }

发布了36 篇原创文章 · 获赞 47 · 访问量 3966

猜你喜欢

转载自blog.csdn.net/qq_43800455/article/details/105092834
今日推荐