1

可能重复:
mysql_fetch_array() 期望参数 1 是资源,选择中给出的布尔值

自从我包含 LIMIT 以来,我遇到了 SELECT SQL 的问题,所以我的代码如下所示:

$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

有人可以帮我解决这个问题吗?

4

2 回答 2

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假设您已在某处定义(如果未定义,您将看到相同的警告),更新到上述内容应该可以解决问题。

旁注,不具体回答:
我建议升级到MySQLiPDO扩展。两者都支持准备好的语句,这可以使您的查询更易于阅读/管理,并且还提供针对 SQL 注入攻击的额外安全性。

于 2012-12-04T20:47:22.440 回答
0
SELECT * FROM rl_posts WHERE thread_id = '$id' LIMIT $od, 10
于 2012-12-04T20:47:38.790 回答