我添加了一个搜索栏,供人们搜索我的数据库中的其他人,但我担心搜索会返回多行。我只是想停止查询,如果它变大,则返回none。
如果结果很大(ex.100s的行),如何停止查询继续?
有没有更好的方法解决这个问题?
答案 0 :(得分:1)
$sql = "SELECT * FROM Orders LIMIT 30";
答案 1 :(得分:0)
我认为你不能“停止”查询。但如果您真的想先计算行数,可以按照以下步骤进行计算:
假设您的搜索查询如下所示
SELECT *
FROM table_name
WHERE name = 'some name';
您可以先计算结果
SELECT COUNT(*) AS num
FROM table_name
WHERE name = 'some name';
如果 num< = 100
,则只选择行(第一个查询)要将两个查询合并为一个,您可以使用CROSS JOIN
SELECT *
FROM (
SELECT COUNT(*) AS num
FROM table_name
WHERE name = 'some name'
) num
CROSS JOIN table_name
WHERE num.num <= 100
AND name = 'some name'
如果 num 是&gt; 100 MySQL将停止,因为没有任何东西可以加入。
可是:
LIMIT
并使用(或实现)分页系统。LIMIT