php - 使用 PHP 中的 SHOW TABLES 查询结果回显 MYSQL 数据库表中的字段数据

标签 php mysql sql database

我有一个 PHP 脚本,它在数据库中创建一个新表,该表预先建立了以下字段:id、firstName、lastName 和其他一些字段。表名由 URL 中的firstName 和lastName 的$_GET 确定。

因此,url.com/script.php?fn=Bob&ln=Smith 生成表名称 BobSmith。

提交创建表的脚本后,页面会刷新,并且可以使用另一个脚本将值插入到表中。

我想要做的是创建一个单独的页面,显示所有表,同时回显firstName和lastName字段中的值,仅限1个结果,因为表中的所有行都将具有相同的firstName和姓氏。

所以我正在寻找一种显示 SHOW TABLES 查询结果的方法,但使用每个相应表中的数据。

示例:

<?php
$query1 = mysql_query("SHOW TABLES");
$result1 = mysql_list_tables("customers")
$num_rows = mysql_num_rows($result1);

for ($i = 0; $i < $num_rows; $i) {
$table_name = mysql_tablename($result1, $i);
}

$query2 = "SELECT * FROM $table_name";
$result2 = mysql_query($query2);

while($row = mysql_fetch_object($result2)) { ?>
<a href="script.php?fn=<?php echo $row->firstName; ?>&ln=<?php echo $rowLastName; ?>"><?php echo $row->firstName; ?> <?php echo $row->LastName; ?></a>
<?php } ?>

我知道这不是真正的功能代码。我只是不确定如何将它们组合在一起,或者我是否以正确的方式处理这个问题。

最佳答案

类似于:

$sql = "SHOW TABLES;"
$result = mysql_query($sql) or die(mysql_error());
while($row = mysql_fetch_array($result)) {
   $table = $row[0];
   $sql2 = "SELECT * FROM `" . mysql_real_escape_string($table) . "`";
   $result2 = mysql_query($sql2) or die(mysql_error());
   while($data = mysql_fetch_assoc($result2)) {
          ... echo out table data here ...
   }
}

不过,从技术上讲,您不应该为此使用显示表格。虽然这是一个方便的命令,但“正确”的方法是查询 information_schema 数据库:

SELECT TABLE_NAME
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA='your_db_name'

关于php - 使用 PHP 中的 SHOW TABLES 查询结果回显 MYSQL 数据库表中的字段数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22999492/

相关文章:

javascript - JQuery GET 检索不需要的 HTML

php - 每次加载时自动执行搜索查询,无需点击搜索按钮

sql - sql中两列不能同时为空

Mysql查询(where和group)

javascript - AJAX jquery post 数据对于浏览器/客户端操作是否安全

javascript - 加载内容时阻止无限滚动跳转到页面末尾

php - 日期时间未保存到我的数据库,变成了 0000-00-00 00 :00:00

python - 我不知道通常使用python aiomysql。运行时间(当 aiomysql 不使用时)与 aiomysql 使用时的运行时间相同

php - 想要将查看详细信息页面产品 ID 存储到 session 中

sql - 左外连接与嵌套聚合选择查找表中最新行的好处是什么?