我试图在限制查询之前获取查询返回的总行数。我正在尝试使用此处找到的建议,该建议使用:SQL_CALC_FOUND_ROWS
然后FOUND_ROWS()
在第二个查询中使用;
他们举了这个例子:
SELECT SQL_CALC_FOUND_ROWS something FROM your_table WHERE whatever;
SELECT FOUND_ROWS( ) ;
我不知道如何将第二个值从FOUND_ROWS()
PHP 变量中捕获。我在 Wordpress 中工作,所以我使用全局 $wpdb 来处理 MySQL 交互。这是我正在尝试的简化版本:
$rows = $wpdb->get_results( "SELECT SQL_CALC_FOUND_ROWS something FROM your_table WHERE whatever;" );
$count = $wpdb->get_results( "SELECT FOUND_ROWS();" );
第一个查询有效,但 $count 始终为空。如果我在 phpMyAdmin 中同时运行它们,则查询运行不会出错。
我也试过这个:
$rows = $wpdb->get_results( "SELECT SQL_CALC_FOUND_ROWS something FROM your_table WHERE whatever;
SET @count = FOUND_ROWS();" );
...但它完全失败了。
我究竟做错了什么?