简体   繁体   English

计算多个MySQL表中的行数?

[英]Count number of rows in multiple MySQL tables?

Here's my current code: 这是我目前的代码:

<?php
$identifiers_link = mysql_connect("localhost", "XXXXX", "XXXXX");
mysql_select_db("XXXXX", $identifiers_link);

$count_0 = mysql_query("SELECT COUNT(hash_id) FROM apis_hashes_0", $identifiers_link);
$count_1 = mysql_query("SELECT COUNT(hash_id) FROM apis_hashes_1", $identifiers_link);
$count_2 = mysql_query("SELECT COUNT(hash_id) FROM apis_hashes_2", $identifiers_link);
$count_3 = mysql_query("SELECT COUNT(hash_id) FROM apis_hashes_3", $identifiers_link);
$count_4 = mysql_query("SELECT COUNT(hash_id) FROM apis_hashes_4", $identifiers_link);
$count_5 = mysql_query("SELECT COUNT(hash_id) FROM apis_hashes_5", $identifiers_link);
$count_6 = mysql_query("SELECT COUNT(hash_id) FROM apis_hashes_6", $identifiers_link);
$count_7 = mysql_query("SELECT COUNT(hash_id) FROM apis_hashes_7", $identifiers_link);
$count_8 = mysql_query("SELECT COUNT(hash_id) FROM apis_hashes_8", $identifiers_link);
$count_9 = mysql_query("SELECT COUNT(hash_id) FROM apis_hashes_9", $identifiers_link);
$count_a = mysql_query("SELECT COUNT(hash_id) FROM apis_hashes_a", $identifiers_link);
$count_b = mysql_query("SELECT COUNT(hash_id) FROM apis_hashes_b", $identifiers_link);
$count_c = mysql_query("SELECT COUNT(hash_id) FROM apis_hashes_c", $identifiers_link);
$count_d = mysql_query("SELECT COUNT(hash_id) FROM apis_hashes_d", $identifiers_link);
$count_e = mysql_query("SELECT COUNT(hash_id) FROM apis_hashes_e", $identifiers_link);
$count_f = mysql_query("SELECT COUNT(hash_id) FROM apis_hashes_f", $identifiers_link);

$identifiers_count = $count_0 + $count_1 + $count_2 + $count_3 + $count_4 + $count_5 + $count_6 + $count_7 + $count_8 + $count_9 + $count_a + $count_b + $count_c + $count_d + $count_e + $count_f;

echo $identifiers_count;

?>

What I'm trying to do is add up how many rows are in several tables. 我正在尝试做的是加起来几个表中有多少行。

The problem I'm having is that every time I refresh the page, the number is either 200 or 216. However, the actual number of rows it should be showing is 14. 我遇到的问题是,每次刷新页面时,数字都是200或216。但是,它应该显示的实际行数是14。

I have no idea what could be causing this to happen, I've run each of the queries directly in phpMyAdmin and they show the correct results. 我不知道是什么原因引起的,我已经直接在phpMyAdmin中运行了每个查询,它们显示了正确的结果。 Any idea? 任何想法?

EDIT: In case it makes a different, some of the tables are currently empty. 编辑:如果情况有所不同,则某些表当前为空。

If you need an estimate you could try something like this: 如果您需要估算,可以尝试以下方法:

SELECT SUM(TABLE_ROWS) FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME LIKE 'apis_hashes_%';

You are using count so you have to run a loop. 您正在使用count因此必须运行循环。 Your every query should look like this 您的每个查询应如下所示

$query_0 = mysql_query("SELECT COUNT(hash_id) as count FROM apis_hashes_0", $identifiers_link);
while($row=mysql_fetch_array($query_0)){
$count_0 = $row['count'];
}

Hope this helps you 希望这对你有所帮助

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM