可能重复:
mysql_fetch_array() expects parameter 1 to be resource, boolean given in select
我有SELECT SQL的问题,因为我已经包含了LIMIT,所以我的代码看起来像这样:
$id = $_GET['id'];
$sql = "UPDATE rl_threads SET views = views + 1 WHERE id = '$id'";
$sql = mysql_query($sql);
//Pager
$ile = 10;
if(isset($_GET['page']))
{
$strona = $_GET['page'];
}
else
{
$strona = 1;
}
$strona = $strona - 1;
$offset = $strona * $ile;
//Koniec Pagera
$sql = "SELECT * FROM rl_posts LIMIT $od, 10 WHERE thread_id = '$id'";
$sql = mysql_query($sql);
直到我没有添加限制它才能正常工作但脚本说:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/radiolev/public_html/forum.php on line 194
Partnerzy
有人可以帮我解决这个问题吗?
答案 0 :(得分:3)
SELECT
子句后,正确的LIMIT
语法有WHERE
,如下所示:
$sql = "SELECT * FROM rl_posts WHERE thread_id = '$id' LIMIT $od, 10";
您收到的错误Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource
...是在MySQL查询失败时引起的。更新到上面应该可以解决问题,假设您已经在某处定义了$od
(如果未定义,则会看到相同的警告)。
旁注,不具体回答:
我建议升级到MySQLi或PDO扩展程序。两者都支持预备语句,这些语句可以使您的查询更易于阅读/管理,并提供针对SQL注入攻击的额外安全性。
答案 1 :(得分:0)
SELECT * FROM rl_posts WHERE thread_id = '$id' LIMIT $od, 10