使用mysql_num_rows与多个表?

时间:2015-02-08 05:44:44

标签: php mysql

以下是我开始使用的代码:

$result = mysql_query("SELECT * FROM apis_hashes_a", $link);
$count = mysql_num_rows($result);

我需要做的是获取以apis_hashes_开头的所有表的所有行的总和。

有大量的表和新的表一直在添加,但所有这些表都以apis_hashes_开头。这是可能做的事情,还是我必须在PHP代码中单独列出每个表?

2 个答案:

答案 0 :(得分:0)

只需在SQL中使用SUM()。使用下面的代码

<?php
$query = "SELECT SUM(TABLE_ROWS) as score
     FROM INFORMATION_SCHEMA.TABLES 
     WHERE SCHEMA = '{your_db_name}'";
$result = mysql_query($query, $link);
while($row=mysql_fetch_array($result)){
$total_rows = $row['score'];
}
echo $total_rows;
?>

希望这有助于你

答案 1 :(得分:0)

sql:

show tables like 'apis_hashes_%'

将返回所有表的列表,然后您需要使用mysql sum()函数循环遍历表的所有名称。