gpt4 book ai didi

php - 从MySQL数据库中显示php中的所有表名

转载 作者:可可西里 更新时间:2023-11-01 06:30:57 25 4
gpt4 key购买 nike

好吧,我对 PHP 和 SQL/MySQL 还很陌生,所以非常感谢任何帮助。

我觉得我采取了正确的方法。我在 php.net 上搜索“MySQL 显示所有表名”,它返回了一个已弃用的方法并建议在 SHOW TABLES [FROM db_name] [LIKE 'pattern'] 上使用 MySQL 查询 我不确定“模式”是什么意思但是,我搜索了“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”的表的名称。

此外,仅运行“显示表”查询不会产生您可以看到的任何输出。 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.
}

关于php - 从MySQL数据库中显示php中的所有表名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9898610/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com