连接到数据库时限制PHP中的行

时间:2018-04-17 14:27:55

标签: php sql tsql

我无法限制从select语句中获取的行数。这就是我正在使用的:

SELECT 
    * 
FROM 
    Card 
WHERE 
    card_cla_id = 6 
    AND card_set_id > 5 
ORDER BY 
    card_cost, 
    card_name DESC 
OFFSET $newCardCount ROWS 
FETCH NEXT 8 ROWS ONLY

我之前设置了$newCardCount

当我尝试运行此代码时,我得到:

  

警告:mysqli_num_rows()期望参数1为mysqli_result,boolean given

这让我觉得我的SQL语句有问题,但我没有看到它有什么问题。

1 个答案:

答案 0 :(得分:0)

在MySQL中,这是我们限制检索行的方式:

SELECT *
FROM Card
WHERE card_cla_id = 6
  AND card_set_id > 5
ORDER BY card_cost, card_name DESC
LIMIT $newCardOffset, $newCardCount;

你需要传递两个变量而不是一个变量,第一个变量是第一个记录的偏移量,相对于第一个记录的偏移量为0,第二个变量是针对多少记录的计数检索。例如LIMIT 5, 10将检索记录6-15。

如果您的$newCardCount变量实际上是偏移量(尽管名称),并且您希望每次检索8条记录,那么您可以使用:

LIMIT $newCardCount, 8;

但是在这种情况下,我建议您更改变量的名称,因为它会像这样混淆。