1

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

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

我拥有的代码是一个布尔值,并且不起作用。如何解决这个问题?

4

6 回答 6

3

需要引号,LIMIT不能与. 连接AND

SELECT * FROM proizvodi WHERE `naziv` LIKE '%127%' LIMIT $start, $per_page
于 2013-09-08T14:04:07.463 回答
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;

于 2013-09-08T13:24:52.490 回答
1

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

SELECT *
FROM proizvodi
WHERE `naziv` LIKE %127%
ORDER BY <something>
LIMIT $start, $per_page
于 2013-09-08T13:26:19.613 回答
0
$query = mysqli_query($connect,
         "SELECT * FROM proizvodi
         WHERE `naziv` LIKE %127%
         ORDER BY naziv ASC
         LIMIT 10");

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

$start, $per_page 如果现在这是一个问题的话,以后可以拿到手.. :)

于 2013-09-08T14:00:40.573 回答
0

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

于 2013-09-08T13:25:41.420 回答
0

您可以尝试以下方法:

$sql='SELECT * FROM product WHERE `ProName` LIKE "%'.$searchWord.'%" LIMIT '.$this_page_first_result.', '.$results_per_page.';'
于 2021-08-05T11:46:43.267 回答