如何在PHP pg query params中检查资源是否为假?
我运行以下代码失败
$row = pg_num_rows ( $result );
if ( $row !== 0 )
echo "hurray";
else
echo "argh";
它给了我以下警告
Warning: pg_query_params() [function.pg-query-params]: Query failed: ERROR: invalid input syntax for integer: "" in /var/www/codes/index.php on line 120
我使用$dbconn
这是正确的,所以第二个警告似乎只是一个sympton。
原因是整数的无效类型。
我的查询是
$dbconn = pg_connect("host=localhost port=5432 dbname=masi user=masi password=123");
$result = pg_query_params ( $dbconn,
'SELECT question_id
FROM questions
WHERE question_id = $1',
array ( $question_id )
);
答案 0 :(得分:3)
试试这个:
$result = @pg_query_params($dbconn, "SELECT * FROM SOME_TABLE", array());
if($result !== FALSE)
{
$row = @pg_num_rows($result);
if ( $row !== 0 )
echo "hurray";
else
echo "argh";
}
else
{
echo "Seems, your query is bad.";
}
在使用$ result之前,您需要检查它。
答案 1 :(得分:1)
当您说“NULL查询”时,我假设您的意思是不影响或返回任何结果行的查询。
任何成功的查询都将始终生成有效的查询结果资源,无论是否已影响/返回任何行,该资源始终为true。要查看查询是否已成功应用于一行或多行,您必须使用pg_affected_rows(UPDATE / INSERT / DELETE)或pg_num_rows(SELECT)。