0
我想在数据库中打印出一些记录表格:警告:pg_fetch_array():3不是有效的PostgreSQL结果资源
session_start();
if(!isset($_SESSION['studentnum'])){
echo "Please "."<a href='login.php'>login</a>";
exit;
}
$host = "localhost";
$username = "xyz";
$password = "abc";
$database = "mno";
$port = "5432";
$dbh = pg_connect("host=".$host." port=".$port." dbname=".$database." user=".$username." password=".$password);
if (!$dbh){
die("Error in connection: ".pg_last_error());
}
$studentnum = $_SESSION['studentnum'];
$sql = "select * from project.student s, project.courses c
where s.student_num = c.student_num and s.student_num='".$studentnum."'";
$result = pg_query($sql) or die('Query failed: ' . pg_last_error());
pg_free_result($result);
pg_close($dbh);
然后
<?php
while ($line = pg_fetch_array($result)) { <= this is line 52
echo "\t<tr>\n";
foreach ($line as $col_value) {
echo "\t\t<td>$col_value</td>\n";
}
echo "\t</tr>\n";
}
?>
但我得到这个错误:
SCREAM: Error suppression ignored for
(!) Warning: pg_fetch_array(): 3 is not a valid PostgreSQL result resource in D:\wamp\www\records.php on line 52
我做错了什么?我在其他地方使用了相同的代码,它工作,所以我不知道这里缺少什么。
请使用PDO驱动程序并准备好语句! –
这是什么意思?我很抱歉,但我是新来的:) – Chin
无关先前的评论,你可以粘贴导致第52行的实际代码?我们这里有什么没有告诉我们很多。您的查询失败的可能性很高,因为其他人(死亡声明可以抓到它) –