我正在尝试使用 LIKE 语句从数据库中选择内容,但我也想限制从中获取的记录数量。
$query = mysqli_query($connect,
"SELECT * FROM proizvodi WHERE `naziv` LIKE %127% ".
"AND LIMIT $start, $per_page");
我拥有的代码是一个布尔值,并且不起作用。如何解决这个问题?
需要引号,LIMIT
不能与. 连接AND
。
SELECT * FROM proizvodi WHERE `naziv` LIKE '%127%' LIMIT $start, $per_page
查看SELECT
语句的文档,您不需要使用 AND 来加入您的WHERE
和LIMIT
部分。
见:http ://dev.mysql.com/doc/refman/5.7/en/select.html
SELECT * FROM proizvodi WHERE `naziv` LIKE %127% LIMIT $start, $per_page;
SQL不保证每次都以相同的顺序返回相同的结果,除非您使用order by
. 您的代码应如下所示:
SELECT *
FROM proizvodi
WHERE `naziv` LIKE %127%
ORDER BY <something>
LIMIT $start, $per_page
$query = mysqli_query($connect,
"SELECT * FROM proizvodi
WHERE `naziv` LIKE %127%
ORDER BY naziv ASC
LIMIT 10");
这会将您的查询限制为最多 10 个。
$start, $per_page 如果现在这是一个问题的话,以后可以拿到手.. :)
限制不是 where 子句的一部分,因此AND
不允许使用。
您可以尝试以下方法:
$sql='SELECT * FROM product WHERE `ProName` LIKE "%'.$searchWord.'%" LIMIT '.$this_page_first_result.', '.$results_per_page.';'