我使用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连接不是问题,那么我将继续调试代码。
答案 0 :(得分:0)
以下是我要进行调试的步骤:
很可能,Postgres和PHP之间存在问题。如果您在找到线索后仍然卡住,请在问题上发布任何错误。