我有一个脚本,到目前为止,它显示了表名,在它下面显示了每列的数组和每个列的信息。
<?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);
?>
我想知道如何设置它以便它创建类似于&#34; CREATE TABLE tablenameresult (column1 int(2),column3 char( 20)......&#34;依此类推等等。
这是否可行,因为信息显示为数组?
答案 0 :(得分:0)
如果要使用PHP脚本将所有数据导出到新站点,可以使用:
$password = "*****";
exec('mysqldump -u your_user -h localhost -p'.$password.' test_django', $out, $return);
var_dump($out);
你可以看到-p和$ password没有空格。
不要使用&#34; exec&#34;到公共文件
我希望这个脚本可以帮助你
答案 1 :(得分:0)
在另一个论坛上找到此代码。这完全符合我的需要。发布此处以防其他人需要帮助解决此问题。
<?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>';
?>