我对PHP和数据库管理有点新,当在带有Apache 2.0处理程序的Linux PostgreSQL数据库上运行以下PHP5代码时,我收到以下错误:
注意:未定义的变量:结果
警告:pg_fetch_array()期望参数1为资源,给定为空
代码如下:
<?php
$conn = Connection::open();
if (!$conn) {
echo "Connection Error<br>";
}
$sql = "SELECT * FROM annual_dropout LIMIT 10";
$result = pg_query($conn, $sql) or die('Query failed: ' . pg_last_error());
if (!$result) {
die(pgsql_error());
}
echo "<table>\n";
while ($line = pg_fetch_array($results)) {
echo "\t<tr>\n";
foreach ($line as $col_value) {
echo "\t\t<td$col_value</td>\n";
}
echo "\t</tr>\n";
}
echo "</table>\n";
?>
两个错误都对应于第30行,即第30行:
while ($line = pg_fetch_array($results)) {
此外,当我在PgAdmin3中的数据库中运行查询时,它工作正常并返回正确的结果。我查看了其他与此类错误有关的StackOverflow问题,并尝试了他们的解决方案。有没有人能够洞察我做错了什么?
答案 0 :(得分:1)
检查$results
的拼写,必须是$result
。
while ($line = pg_fetch_array($result)) {
^------