Php 意外PDO“;一般错误2050“;取决于配置

Php 意外PDO“;一般错误2050“;取决于配置,php,mysql,pdo,Php,Mysql,Pdo,我有一些代码,其中变量$query应该包含不同的PDOStatement对象,一个被另一个替换: $query = $conn->prepare("select * from ... "); $query->execute(); while ($tmp=$query->fetch(PDO::FETCH_ASSOC)) { ...; } //unset($query); $query = $conn->query("select * from ... "); whi

我有一些代码,其中变量$query应该包含不同的PDOStatement对象,一个被另一个替换:

$query = $conn->prepare("select * from ... ");
$query->execute();
while ($tmp=$query->fetch(PDO::FETCH_ASSOC)) {
   ...;
}

//unset($query);
$query = $conn->query("select * from ... ");
while ($tmp=$query->fetch(PDO::FETCH_ASSOC)) {
    ....;
}  
有了这样的代码,我在最后一次获取的行上从PDO获得了“SQLSTATE[HY000]:General error:2050”。但如果我用“unset”取消对行的注释,它将开始正常工作

知道会是什么吗

在不使用unset的情况下,它也可以与PDO::ATTR_EMULATE_PREPARES=true一起使用

UPD 以下是MySQL站点的错误代码说明:

错误:2050(CR\u取数\u已取消)
消息:在某些php版本中,mysql_stmt_close()调用取消了行检索,出现错误2050,因为您必须用查询结果清空保存对象的变量 看


中,在某些php版本中会发生错误2050,因为必须用查询结果清空保存对象的var 看


中,可能是输入错误,但($tmp=$query->fetch(PDO::fetch_ASSOC){缺少结尾
是的,是输入错误,谢谢。刚刚更正。真的很想知道下载的原因可能是输入错误,但($tmp=$query->fetch(PDO::fetch_ASSOC){缺少结尾
是的,一个打字错误,谢谢。刚刚更正。真的很想知道为什么要投否决票