如何检查查询结果?我试试这个,但是当结果为空时 - 错误没有显示。
$result = sqlite_query($db, "SELECT * FROM catalog WHERE cat=".$_GET["cat"]." AND size".$size."");
if($result !== 0) {
while ($row = sqlite_fetch_array($result)) {
echo '<img src="'.$row['img1'].'" alt="'.$row['id'].'" />'."\r\n";
}
} else {
err2();
}
答案 0 :(得分:1)
您可以使用sqlite_num_rows()函数检查返回行的数量
答案 1 :(得分:1)
请注意,sqlite_fetch_array()
返回结果句柄,而不是行数,因此您不应将其与零进行比较:
此函数将在失败时返回结果句柄或FALSE。
使用sqlite_num_rows()
确定返回的行数,例如
if(sqlite_num_rows($result) !== 0) {
...
} else {
...
}
请注意,您不应该通过直接将其合并到SQL查询中来使用用户提供的数据,因为它允许SQL injection attacks。此外,请确保数据库的内容(尤其是列img1
和id
中的值)已正确转义,否则您可能会受到XSS attacks的攻击。</ p>
答案 2 :(得分:1)
查看http://php.net/manual/en/function.sqlite-num-rows.php
$rows = sqlite_num_rows($result);
如果结果为空,$ rows将为0