gpt4 book ai didi

mysql - SQL_CALC_FOUND_ROWS 有时不起作用

转载 作者:行者123 更新时间:2023-11-30 00:38:40 25 4
gpt4 key购买 nike

$query->select('SQL_CALC_FOUND_ROWS i.title,i.fulltext,i.shorttext');
$query->from('#__items as i');
$query->where('i.shorttext LIKE "%'.$word.'%");

在这个条件下,一切都是正确的,行数是真实的...例如,如果它返回 21 个项目...它是真实的...(真实返回的结果是 21)

但是在这段代码中:

 $query->select('SQL_CALC_FOUND_ROWS i.title,i.fulltext,i.shorttext');
$query->from('#__items as i');
$query->where('i.shorttext LIKE "%'.$word.'%"
OR i.fulltext LIKE "%'.$word.'%"
OR i.title LIKE "%'.$word.'%"');

代码向我返回行数 63! (比真品大3倍。)

当然,它们都实时打印(不重复)。

怎么了?tnx

<小时/>

我对此进行了更改(在三个 or 条件周围添加了括号)并解决了问题。

 $query->select('SQL_CALC_FOUND_ROWS i.title,i.fulltext,i.shorttext');
$query->from('#__items as i');
$query->where('(i.shorttext LIKE "%'.$word.'%"
OR i.fulltext LIKE "%'.$word.'%"
OR i.title LIKE "%'.$word.'%")');

最佳答案

代码返回 63,因为您的查询返回 63 行(或者您后来在 PHP 中更改了变量)。

这要么是正确的结果,要么是您提取的数字错误。此时 MySQL 还没有什么魔力。

关于mysql - SQL_CALC_FOUND_ROWS 有时不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21967094/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com