我正在研究如何检索当前处于活动状态的表名,以便我可以将该表名存储到变量中,然后在需要获取数据所在的表名的查询中使用它。我有看看Stack和Google,找不到一个简单的解决方案。我希望我能提供一个我已经合作过的例子,但事实是我没有找到任何有助于我完成这项简单任务的用途。
我想选择表名和商店,就是这样。听起来很简单,我希望我不会为这个投票得到投票,但我真的需要找到答案,即使积分丢失了。
澄清: 我想找到一种方法来为不同的表名使用相同的脚本。我们有不同类别的表格。我希望查询根据正在访问的当前表搜索特定表上的某些列。我们有表1和表2,其中一些列名称相同,但目前只访问表1。如果管理员想要对表中的图像进行更改,则需要在当前访问的表中完成,这样我就不会复制我的代码以适应不同的表名。
答案 0 :(得分:0)
听起来不简单。
理解如何使用数据库可能会遇到一些“问题”。
您(您的应用程序代码)应始终知道要使用的所有数据库表的名称。
知道。没有拿到它们。
获取它们毫无意义。
要在您的应用代码中编写查询,您不仅应该知道表名,还要知道所有字段,类型,换句话说结构。
答案 1 :(得分:0)
如果你想要来自特定数据库的表,让我们说数据库“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.
}