php - 从 MySQL 数据库获取列信息?

标签 php mysql sql

到目前为止,我有一个脚本显示表名称,并在其下方显示每列的数组以及每列的信息。

<?php

include_once('include/connect.php'); 

$sql = "SHOW TABLES FROM mydb";
$result = mysql_query($sql);


while ($row = mysql_fetch_row($result)) {

echo "<b>{$row[0]}</b><br>";

$listcols = mysql_query("SHOW COLUMNS FROM {$row[0]}");

while ($rowz = mysql_fetch_assoc($listcols)) {
       print_r($rowz);echo "<br>";
    }

}


mysql_free_result($result);

?>

我想知道如何设置它,以便它创建类似“CREATE TABLE tablenameresult (column1 int (2), column3 char(20)...”和每个表依此类推。

由于信息显示为数组,这可能吗?

最佳答案

在另一个论坛上找到此代码。这非常适合我的需要。在此发布此内容,以防其他人需要帮助解决此问题。

<?php 
// show_tables.php 

$conn= mysql_connect('host','user','pass') 
    OR die('Connection error'); 
$database= 'databasename'; 
mysql_select_db($database); 
$sql1= 'SHOW TABLES FROM ' .$database; 
$res1= mysql_query($sql1) OR die('Query 1 error:<br />' .mysql_error()); 

echo '<table border=1 cellpadding=1 cellspacing=0 width="90%">'; 
while ( $row= mysql_fetch_row($res1) ) 
{ 
echo '<tr>'; 
echo '<td valign="top" align="center">' .$row[0]. '</td>'; 
echo '<td>'; 
$sql2= 'SHOW CREATE TABLE ' .$row[0]; 
$res2= mysql_query($sql2) OR die('Query 2 error:<br />' .mysql_error()); 
while ( $table_def= mysql_fetch_row($res2) ) 
{ 
    for ($i=1; $i<count($table_def); $i++) 
    { 
        echo '<pre>' .$table_def[$i]. '</pre>'; 
    } 
} 
echo '</tr>'; 
} 
echo '</table>'; 
?>

关于php - 从 MySQL 数据库获取列信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25795715/

相关文章:

PHP/MySQL : How to verify properly escaped data?

php - 如何在不影响 phpMyAdmin 的情况下从 mysql 中巧妙地删除 pma 表

mysql - 如何在 TEMPORARY 表上使用多个 IN 条件进行选择?

php - Symfony 1.4 动态模板

php - EXISTS 总是返回真简单查询

mysql - SQL计算涉及复合主键的元组数

php ftp_put 不创建文件

php - FFMPEG 0.6.5 版视频旋转

相当于 python 的三引号的 PHP - 如何在不转义的情况下在 PHP 中打印大量/大量的 HTML

php - SQL/PHP - 优化 while 循环内的查询