MySQL LIKE和LIMIT

时间:2013-09-08 13:21:51

标签: php mysql

我正在尝试使用LIKE语句从数据库中选择内容,但我还想限制我从中获取的记录数量。

$query = mysqli_query($connect,
   "SELECT * FROM proizvodi WHERE `naziv` LIKE %127% ".
   "AND LIMIT $start, $per_page");

我的代码是一个布尔值,并且无法正常工作。如何解决这个问题?

6 个答案:

答案 0 :(得分:3)

LIMIT需要引号,且无法与AND结合使用。

SELECT * FROM proizvodi WHERE `naziv` LIKE '%127%' LIMIT $start, $per_page

答案 1 :(得分:2)

查看SELECT声明的文档,您无需使用AND加入WHERELIMIT部分。

请参阅:http://dev.mysql.com/doc/refman/5.7/en/select.html

SELECT * FROM proizvodi WHERE `naziv` LIKE %127% LIMIT $start, $per_page;

答案 2 :(得分:1)

SQL 保证每次都以相同的顺序返回相同的结果,除非您使用order by。您的代码应如下所示:

SELECT *
FROM proizvodi
WHERE `naziv` LIKE %127%
ORDER BY <something>
LIMIT $start, $per_page

答案 3 :(得分:0)

限制不是where子句的一部分,因此不允许AND

答案 4 :(得分:0)

$query = mysqli_query($connect,
         "SELECT * FROM proizvodi
         WHERE `naziv` LIKE %127%
         ORDER BY naziv ASC
         LIMIT 10");

这会将您的查询限制为最多10个。

$ start,$ per_page如果现在出现问题,可以稍后获取......:)

答案 5 :(得分:0)

您可以尝试以下操作:

$sql='SELECT * FROM product WHERE `ProName` LIKE "%'.$searchWord.'%" LIMIT '.$this_page_first_result.', '.$results_per_page.';'