繁体   English   中英

从MySQL数据库获取列信息?

[英]Get column information from MySQL Database?

到目前为止,我已经有了一个脚本,该脚本显示表名,并且在其下面显示每个列的数组以及每个列的信息。

<?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脚本将所有数据导出到新站点,则可以使用以下命令:

$password = "*****";    
exec('mysqldump -u your_user -h localhost -p'.$password.' test_django',  $out, $return);

var_dump($out);

您会看到-p和$ password没有空格。

不要对公共文件使用“ exec”

希望这个脚本对您有帮助

在另一个论坛上找到了此代码。 这完全可以满足我的需求。 如果有人需要此问题的帮助,请在此处发布。

<?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>'; 
?>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM