PHP pg_fetch_object函数返回false

时间:2014-11-20 16:21:05

标签: php postgresql

在发布这个问题之前,我在互联网上搜索了很多但没有找到任何可以解决我问题的东西。

<?php
   $result=pg_query($this->conn_link,$strSqlQuery) or die(pg_last_error());
   if($result)
      $data=pg_fetch_object($result);
?>

因此,执行上面的代码后,$data的值为false,使用var_dump()函数。奇怪的是,如果我复制sql字符串并直接在SGBD(Sql Manager 2007)上执行它正确返回数据!!!

我尝试使用返回上一个错误的函数,但没有显示错误。所以,我不知道为什么会这样。这从来没有发生在我身上。

那么伙计们,为了尝试发现这个问题,我可以做些什么或者做些什么。谢谢!

1 个答案:

答案 0 :(得分:0)

解决。

使用不带连接参数的pg_query时要小心,它会选择默认的连接,这可能会导致错误的连接(例如其他数据库连接),并且您的查询将失败。

对我来说,在执行查询之前,我强制使用bd重新连接,并且它运行得很漂亮。

<?php
   $bd->conect();
   $result=pg_query($this->conn_link,$strSqlQuery) or die(pg_last_error());
   if($result)
      $data=pg_fetch_object($result);
?>