连接数据库后无法使用echo

时间:2015-03-17 13:44:40

标签: javascript php postgresql echo

我使用ajax向php发送带有某些文本的请求。

$.get("process.php", { finalQuery : finalQuery }, function(data) {

alert("Data Loaded: " + data);

});

我知道这很有效,因为在php中我可以放

$val = $_GET['finalQuery']; echo $val;

并输出正确的数据。 但是,如果我把

$db = pg_Connect("host=localhost port=5432 dbname=Blah user=postgres password=1888");

pg_close($db);

它停止将结果回显给javascript。如果我使用不同的端口或名称,并且它没有连接,则会返回将数据发送到javascript并输出正确的数据。

所以基本上,当我连接到数据库时,我无法用echo回复我的结果。我做错了什么?

修改(更新): 这是完整的PHP代码

    <?php
$val = $_GET['finalQuery'];
echo $val;

$db = pg_Connect("host=localhost port=5432 dbname=Blah user=postgres password=1888");
$result = pg_query($db, 'SELECT gid FROM "Perfect"');
while ($row = pg_fetch_row($result)) {
  echo "gid: $row[0]";
  echo "<br />\n";
}

pg_close($db);
?>

但是,只要我使用pg_connect,问题仍然存在。可以删除所有其他行,问题仍然存在。只要我删除了pg_connect,问题就会消失,我可以通过echo

发回信息

NEW EDIT(调试):

与数据库和php代码的连接似乎没问题。用

加载php页面后
error_reporting(-1);
ini_set('display_errors', 'On');

页面上没有记录任何错误,并且与数据库的连接正在每次加载页面时正确返回所有数据。

当我尝试通过javascript连接到php时出现问题。

页面有时会正确加载数据,但它是随机的,并且大部分时间都没有发生(甚至没有PHP记录的错误)。如果你没有办法javascript-php连接不是问题,那么我将继续调试代码。

1 个答案:

答案 0 :(得分:0)

以下是我要进行调试的步骤:

  1. 首先确保数据库正在运行,并且您可以向其发送查询 成功通过控制台窗口DB GUI工具(Navicat是我的gui of DB的选择)
  2. 直接加载PHP页面。检查输出 预期的代码或致命的PHP错误
  3. 检查浏览器控制台是否有错误。因为它似乎是一个PHP 只有页面,这应该完全清楚问题。
  4. 检查PHP日志
  5. 检查Postgres日志
  6. 很可能,Postgres和PHP之间存在问题。如果您在找到线索后仍然卡住,请在问题上发布任何错误。