php多个查询问题

时间:2011-01-20 11:17:13

标签: php mysql

首先,这是一个较旧的php / mysql组合的问题: PHP 5.2.0-8, mysql Ver 14.12 Distrib 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()的第二次调用将始终返回NULL对象。

  • 这不会发生在较新版本的php / mysql上
  • 如果我关闭连接并重新连接,那么它将正常工作。

    因此组合看起来不同时支持多个查询。这是一个已知的限制还是有办法让它起作用?

    一如既往,欢迎任何投入。

  • 1 个答案:

    答案 0 :(得分:1)

    您需要关闭光标,请参阅文档:PDOStatement::closeCursor()