首先,这是php/mysql旧组合的一个问题:
菲律宾比索5.2.0-8,
mysql版本14.12发行版5.0.32
所以我要做的是:
$con = db_connect();
$last_id = 123;
$q1 = db_select_all( $con, "t1", "WHERE id=" . $last_id );
$r1 = $q1->fetch();
$q2 = db_select_all( $con, "t2", "WHERE id=" . $last_id );
$r2 = $q2->fetch();
function db_connect()
{
$con = new PDO();
return $con;
}
function db_select_all( $con, $tab, $cond )
{
$cmd = "SELECT * FROM " . $tab . " " . $cond;
print "$cmd\n";
$res = $con->query( $cmd );
return $res;
}
问题是对
$con->query()
的第二次调用总是返回一个空对象。更新版本的php/mysql不会出现这种情况
如果我关闭连接并重新连接,那么它将工作正常。
所以看起来这个组合不支持同时进行多个查询。这是一个已知的限制还是有办法让它发挥作用?
一如既往,欢迎任何意见。
最佳答案
您需要关闭光标,请参见文档:PDOStatement::closeCursor()
关于php - PHP的多重查询问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4746408/