PDO_MYSQL:2014年的一般错误

时间:2012-11-15 21:51:20

标签: php mysql pdo

我正在从普通的mysql_ *迁移到PDO(是的,我知道它是2012年的日历)。
我正在写一个简单的包装类,有机会做类似的事情     $ f = $ db-> FetchAll(“SELECT * FROM ...”) 在我的网站上。 这就是我正在做的事情:

    public function Query($q, $errmessage="", $params=array()) {
    try {
    $stmt=$this->connect->prepare($q);
    if (is_array($params) && count($params)>0) {
    $stmt->execute($params);
    } else {
    $stmt->execute();
    }
    return $stmt;
    } catch(PDOException $e) {
    die($errmessage.": ".$e->GetMessage());
    }
    }

   public function Fetch($q, $arraylist=0) {
    if (!is_object($q)) { // Assuming it's a raw query
    $stmt=$this->Query($q, "Unable to process the query for fetching");
    } else $result=$q;
    $f=$stmt->Fetch();
    return $f;
}

这引发了“一般错误2014”例外 任何帮助表示赞赏 谢谢!

1 个答案:

答案 0 :(得分:2)

2014不是一年,这是一个错误代码。下次尝试googling the error

  

$ pdo-> query(“INSERT INTO test(some)VALUES('1111111111111111'),   ( '1111111111111'); - 我是一个SQL评论,删除我将解决这个问题   问题“);

     

由于“;”这是一个多语句,在执行两个查询时   第二个只是评论。可以访问第二个“结果”   使用PDOStatement-> nextRowset。 [source]

或:

  

花了好几个小时试图找出我们为什么得到这个   新服务器上的错误,在其他服务器上运行相同的代码后,   我们发现问题是运行旧的MySQL 客户端库   我们的Web服务器,以及在其上运行的最新版本的MySQL 服务器   数据库服务器的框。 [source]