所以我有这个代码:
foreach ($_SESSION['basket'] as $item) {
$ref = $_SESSION['basket'][$counter];
$result = pg_query ($conn, 'SELECT * from music WHERE ref='.$ref.' ORDER BY artist');
}
这将输出第一行,但是如果我尝试检索多行,它会输出此Warning: pg_fetch_row() expects parameter 1 to be resource, boolean given
。我不明白我是如何给参数 1 一个布尔值的,这是第 46 行的代码,它收到错误: ($row = pg_fetch_row($result))
提前致谢
您可以使用
$row =pg_fetch_array($result)
然后$row['field_name']
在foreach循环中取出值。
此错误可能是因为连接变量$conn
未连接到数据库。
尝试所有可能性。谢谢。
如果查询失败,pg_query
返回FALSE
。此外,您应该改用pg_query_params
来防止 SQL 注入。
看看 PHP 文档中的示例:http://php.net/manual/en/function.pg-query.php。
切记:
- A:转义输入,甚至更好地使用预准备语句
- B:在迭代结果之前检查返回值。如果发生错误,尝试迭代是没有意义的。
一般来说,PHP 文档是一个很好的地方,当努力处理 PHP-API 的细节时,有时......不如他们可能直观。:-)