簡體   English   中英

使用PHP中的SHOW TABLES查詢的結果從MYSQL數據庫表中回顯字段數據

[英]Echo field data from MYSQL database table using results of a SHOW TABLES Query in PHP

我有一個PHP腳本,該腳本在數據庫中創建一個新表,該表預先建立了以下字段:id,firstName,lastName和其他一些字段。 表名由URL的firstName和lastName的$ _GET確定。

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

提交創建表的腳本后,頁面將刷新,並且可以使用其他腳本將值插入表中。

我正在嘗試做的是創建一個單獨的頁面,該頁面顯示所有表,同時回顯firstName和lastName字段中的值(限於1個結果),因為表中的所有行都具有相同的firstName和lastName。

因此,我正在尋找一種顯示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 ...
   }
}

從技術上講,盡管如此,您不應該為此使用show tables 雖然這是一個方便的命令,但“適當”的方法是查詢information_schema數據庫:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM