请教MYSQL_ATTR_USE_BUFFERED_QUERY

浏览:6940 发布日期:2016/07/13 分类:ThinkPHP5专区
[think\exception\PDOException]                                                                                                                                                                                                                                                                                      
  SQLSTATE[HY000]: General error: 2014 Cannot execute queries while other unbuffered queries are active.  Consider using PDOStatement::fetchAll().  Alternatively, if your code is only ever going to run against mysql, you may enable query buffering by setting the PDO::MYSQL_ATTR_USE_BUFFERED_QUERY attribute.  
                   
上面是完整的错误代码,我的期望是执行MYSQL查询,写入过后,使用exec备份数据库目录的过程,但是运行的时候出错,我偿试了database.php里面添加PDO::MYSQL_ATTR_USE_BUFFERED_QUERY,但是还是没有效果,所以请教大神,希望可以解决    /**
     * 备份数据库
     */
    public function bakupdb($filename='')
    {
        if (empty($filename)) {
            $filename = "dba_".date("Ymd").".tar.gz";
        }
        if (!IS_WIN) {
            Db::free();
            Db::query("LOCK TABLES `brand` READ,`series` READ,`spec` READ");
            @exec("tar -czvf /data1/bakup/dba/".$filename." /home/database/mysql/dba");
            Db::free();
            Db::query("UNLOCK TABLES;");            
        } else {
            return "\r\n暂时不支持WIN系统自动备份\r\n";
        }
    }
最佳答案
评论( 相关
后面还有条评论,点击查看>>