从mysql_fetch_row()中排除结果

时间:2014-06-12 15:55:49

标签: php mysql while-loop

我有以下代码列出数据库中的所有表,我想要做的是从列表中排除表名。

$listtables = mysql_query("SHOW TABLES");
if($listtables){
 while ($row = mysql_fetch_row($listtables)) {
    echo "{$row[0]}<br>";
 }
}

哪些输出说:

1
2
3
4
5

现在我该如何从列表中排除3?谢谢你的帮助。

2 个答案:

答案 0 :(得分:2)

您可以为此目的使用SQL where子句。

SHOW TABLES WHERE tables_in_db_name <> '3';

如果您需要排除多个:

SHOW TABLES WHERE tables_in_db_name NOT IN ('3', '5');

db_name替换为您的数据库名称。

答案 1 :(得分:1)

试试这个:

$listtables = mysql_query("SHOW TABLES WHERE `Tables_in_[database_name]`!='3'");
if($listtables){
  while ($row = mysql_fetch_row($listtables)) {
    echo "{$row[0]}<br>";
  }
}