我正在编写一些关键业务查询,并依靠 is_resource 过滤所有失败的查询(即语法错误等)
以这个查询为例:
$result = pg_query('SELECT * FROM logs');
if (!is_resource($result)) {
die('Error');
}
die('Error')
如果查询有效但没有返回行,那也会吗?即使没有从数据库返回任何行,我也需要它来返回资源。
如果没有错误,就会有资源。要检查行,您需要使用pg_num_rows。
来自 php.net 的引用:“如果发生错误并返回 FALSE,如果连接有效,则可以使用 pg_last_error() 函数检索错误的详细信息。” “成功时的查询结果资源或失败时的 FALSE。”
听起来只要没有错误,结果总会有资源。