PHP/SQL - 返回查询结果和计数

标签 php mysql

SQL/PHP 菜鸟。我查了很多问题,但似乎没有一个能帮助我得到我需要的东西。

我有一个数据库前端,它根据复选框的状态运行 SQL 查询。我希望 SQL 查询通过单个查询返回结果和结果计数(到变量中)。

如果我运行:

SELECT DISTINCT
event.event_id as 'Event ID',
event.event_group_id as 'Group ID',
abs_path.abs_path as 'Path\Filename',

FROM 
event.event_group
LEFT JOIN event.event using (event_group_id)
LEFT JOIN file_info.abs_path using (abs_path_id)

WHERE event.timestamp >= DATE_SUB(CURDATE(),INTERVAL 1 DAY)
LIMIT 40

我得到了查询的所有结果。但如果我运行:

SELECT DISTINCT
count(event.event_id) as 'rowcount',
event.event_id as 'Event ID',
event.event_group_id as 'Group ID',
abs_path.abs_path as 'Path\Filename',

FROM 
event.event_group
LEFT JOIN event.event using (event_group_id)
LEFT JOIN file_info.abs_path using (abs_path_id)

WHERE event.timestamp >= DATE_SUB(CURDATE(),INTERVAL 1 DAY)
LIMIT 40

我只得到一个结果,“rowcount”是第一列,但如果我把它拿出来,我会得到所有结果:

sql

我希望能够获取总行数并将其保存到变量中,同时还可以下拉结果以显示在屏幕上。

我使用以下内容来获取查询:

$result = $database->query($sql);

如何同时进行查询和计数,同时将总结果保存到 $rowcount 中?如果您查看第二张图片的左下角,SQL 查询浏览器会显示查询中的总数。我想要那个号码。我怎样才能得到它?

谢谢

最佳答案

您可以在 PHP 中获取行数和结果。 执行查询后,您将得到结果,比如说 $res

您可以使用它来获取行数。 如果使用 mysqli 库,请使用

mysqli_num_rows ($res);

如果您使用 PDO,则必须运行 2 个查询,一个用于获取值,另一个用于获取计数。

MySQLi

PDO

关于PHP/SQL - 返回查询结果和计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37317811/

相关文章:

PHP 回显具有相同值的 id

php - 调用 captcha.php 时,我的验证码图像未显示在我的页面上

php - 生成用于 Web 服务身份验证的访问 token 的函数

c++ - MySql connector-c++ 不会在 QtCreator 中链接,但在树莓派 pi3 上本地工作正常

php - 使用 PDO 准备语句和特定年份的占位符,我无法回应任何结果

php - ldap_set_rebind_proc() 函数在任何 PHP Windows 发行版中都不起作用

javascript - CodeIgniter 附加带有相对链接的 URI 段

mysql - 带变量的 SQL 更新语句

mysql - 如何使用 Laravel 设计我的数据库?

php函数从mysql表中选择数据