这是我的代码,它可以正常工作,但是这次我还想计算它给出的记录。在插入 COUNT(*) 时,它将为计数行提供 NULL 值
$query_list_records = "SELECT COUNT(*) from myl_news_comments WHERE news_id=:news_id LIMIT :ajax_read_how_many_comments OFFSET :items_already_loaded";
$result_list_records = $db->prepare($query_list_records);
$result_list_records->bindValue(':news_id', $_POST['news_id'] , PDO::PARAM_INT);
$result_list_records->bindValue(':ajax_read_how_many_comments', (int)$ajax_read_how_many_comments , PDO::PARAM_INT);
$result_list_records->bindValue(':items_already_loaded', (int)$_POST['items_already_loaded'] , PDO::PARAM_INT);
$result_list_records->execute();
$total_records = $result_list_records->fetchColumn();
echo $total_records;
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
谢谢,祝你度过一个愉快的夜晚
在查询本身中,尝试通过重写查询将 COUNT(*) 与检索分开,如下所示:
SELECT COUNT(*) from (SELECT myl_news_comments WHERE news_id=:news_id LIMIT :ajax_read_how_many_comments OFFSET :items_already_loaded) A
Run Code Online (Sandbox Code Playgroud)
您的代码现在应该如下所示:
$query_list_records = "SELECT COUNT(*) from (SELECT myl_news_comments WHERE news_id=:news_id LIMIT :ajax_read_how_many_comments OFFSET :items_already_loaded) A";
$result_list_records = $db->prepare($query_list_records);
$result_list_records->bindValue(':news_id', $_POST['news_id'] , PDO::PARAM_INT);
$result_list_records->bindValue(':ajax_read_how_many_comments', (int)$ajax_read_how_many_comments , PDO::PARAM_INT);
$result_list_records->bindValue(':items_already_loaded', (int)$_POST['items_already_loaded'] , PDO::PARAM_INT);
$result_list_records->execute();
$total_records = $result_list_records->fetchColumn();
echo $total_records;
Run Code Online (Sandbox Code Playgroud)
试一试 !!!
归档时间: |
|
查看次数: |
3332 次 |
最近记录: |