2012-01-07 67 views
1

我想用PHP返回包含特定单词我的表的列表。使用PHP返回表名

我发现mysql_tablename但显然这一功能已被否决。我会如何去做这件事?

+0

我记得这是可行的,从查询到MySQL服务器,用的东西'在它schema',记不太清了...... – 2012-01-07 20:07:30

+0

对不起,我本来应该更清楚,我正在寻找(用户名的字)位于其中一个表格的其中一个字段中,而不在其中一个表格名称内。但我想我可以解决它,谢谢你的帮助! – user1039878 2012-01-07 20:15:45

回答

2
$q = mysql_query("SHOW TABLES LIKE 'pattern'"); 

while ($row = @mysql_fetch_row($q)) 
{ 
    echo $row[0]."<br>"; 
} 
+0

我认为你的答案不好,因为需要选择一个数据库才能工作。 – Paul 2012-01-07 20:11:36

+0

所以你可以使用'数据库LIKE SHOW TABLES 'pattern'' – 2012-01-07 20:21:30

+0

该文档在这里http://php.net/manual/en/function.mysql-tablename.php陈述其可选的(在[]) – craig1231 2012-01-07 21:02:55

1

可以发出针对INFORMATION_SCHEMA.TABLES查询,应该像

select * from information_schema.tables where table_name like '%keyword%'; 
+0

' INFORMATION_SCHEMA。表'似乎总是返回相同的结果? '资源ID#6' – user1039878 2012-01-07 20:40:46

1

查询MySQL服务器为它:

SELECT table_name FROM INFORMATION_SCHEMA.TABLES 
    WHERE table_schema = 'db_name' 
    [AND table_name LIKE 'wild'] 

Source


对于含有特定的字表,使用LIKE关键字与WHERE子句中匹配。