+-
在MySQL数据库中显示php中的所有表名
好吧,所以我对 PHP和SQL / MySQL相当新,所以任何帮助都表示赞赏.

我觉得我采取了正确的方法.我在php.net上搜索“MySQL显示所有表名”,它返回了一个弃用的方法并建议在SHOW TABLES上使用MySQL查询[FROM db_name] [LIKE’pattern’]我不确定“模式”是什么意思,但是,我搜索了“SQL Wildcard”并获得了“%”符号.根据我发现的一切,这应该工作并在最后输出表名,但事实并非如此.有什么建议么?提前致谢.

<?php
if ($_REQUEST["username"]=="coke"&&$_REQUEST["password"]=="pepsi"){
echo 'You have successfully logged in.';
echo '<br />';
echo 'These are your tables:';
echo '<br />';

   $link = mysql_connect("sql2.njit.edu", "username", "password");

   mysql_select_db("db_name") or die(mysql_error());

   $result = mysql_query('SHOW TABLES [FROM db_name] [LIKE '%']');
   echo $result;
}
else
echo 'You did not provide the proper authentication';
?>

我没有错.输出正是所回应的,但没有表名.

最佳答案
代码中的方括号在mysql文档中用于指示可选参数组.它们不应该在实际查询中.

您实际需要的唯一命令是:

show tables;

如果你想要来自特定数据库的表,让我们说数据库“books”,那么它就是

show tables from books;

如果要查找名称与特定模式匹配的表,则只需要LIKE部分.例如.,

show tables from books like '%book%';

会显示名称中某处有“book”的表的名称.

此外,只运行“show tables”查询不会产生任何可以看到的输出. SQL回答查询然后将其传递给PHP,但您需要告诉PHP将其回显到页面.

因为听起来你是SQL的新手,我建议从命令行运行mysql客户端(或者使用phpmyadmin,如果它安装在你的系统上).这样,您可以查看各种查询的结果,而无需通过PHP的函数来发送查询和接收结果.

如果你必须使用PHP,这是一个非常简单的演示.连接到数据库后尝试此代码:

$result = mysql_query("show tables"); // run the query and assign the result to $result
while($table = mysql_fetch_array($result)) { // go through each row that was returned in $result
    echo($table[0] . "<BR>");    // print the table that was returned on that row.
}
点击查看更多相关文章

转载注明原文:在MySQL数据库中显示php中的所有表名 - 乐贴网