我有以下代码列出数据库中的所有表,我想要做的是从列表中排除表名。
$listtables = mysql_query("SHOW TABLES");
if($listtables){
while ($row = mysql_fetch_row($listtables)) {
echo "{$row[0]}<br>";
}
}
哪些输出说:
1
2
3
4
5
现在我该如何从列表中排除3?谢谢你的帮助。
答案 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>";
}
}