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

好吧,所以我对PHP和SQL / MySQL还是相当陌生,因此感谢您的帮助。

我觉得我采取了正确的方法。我在php.net上搜索了“ MySQL显示所有表名”,它返回了不建议使用的方法,并建议使用MySQL查询,SHOW

TABLES [FROM db_name] [LIKE 'pattern']但不确定“模式”是什么意思,但是我搜索了“ SQL通配符”并得到了“%

”符号。根据我发现的所有内容,这应该可以工作并在末尾输出表名,但事实并非如此。有什么建议么?提前致谢。

<?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,则使用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中的所有表名 的全部内容, 来源链接: utcz.com/qa/404648.html

回到顶部