用于复制表的PHP查询

时间:2015-08-05 22:18:36

标签: php html mysql copying

这必须在网上某个地方,但是经过几个小时的努力,我没有运气。

所以我在一个页面上创建了HTML表单,并创建了一个可以创建数据库的PHP页面。

<form action="createdb.php" method="post">
<label for="dbname"><b>Name of DB</b></label>    
<input type="text" name="dbname" id="dbname"/>
<input type="submit" value="Create DB">

<?php
$conn = mysqli_connect("localhost", "root", "") or die(mysqli_error());
$dbname = $_POST['dbname'];
if (mysqli_query($conn,"CREATE DATABASE $dbname")) {
    echo "Database created";    
} else {
   echo "Database was not created"; 
}
mysqli_close($conn);
?>

然后我在PHP代码下面有这些表单..用于创建表的表单在刚刚创建的DB中工作正常..但它是从已经创建的数据库中复制表到新创建的数据库的表单。

<form action="createtable.php" method="post">
<label for="tablename"><b>Create Table within new DB</b></label>    
<input type="text" name="tablename" id="tablename"/>
<input type="hidden" name="holdname" value="<?php echo $dbname ?>">
<input type="submit" value="Create Table">
</form>
<p>OR</p>
<form action="copytables.php" method="post">
<label for="tablename"><b>Copy RSS Tables</b></label>    
<input type="text" name="tablename" id="tablename" readonly/>
<input type="hidden" name="holdname" value="<?php echo $dbname ?>">
<input type="submit" value="Copy Tables">
</form>

我想从名为'rss_db'的数据库中将名为'lookup_age'和'score'的表,结构和数据复制到新数据库中。我已经用许多不同的方式改写了所需的PHP页面,并且ATM已经像这样留下了,就像我在W3schools上看到的那样,这让我更加困惑。我知道它可以通过PHPMYADMIN轻松完成,但现在需要通过查询和HTML表单(如果可能)。继承了我所遵循的内容,但想知道如果可能的话,查询行应该是什么......

 <?php
 $conn = mysqli_connect("localhost", "root", "") or die(mysqli_error());
 $dbname =$_POST['holdname']; 
 mysqli_select_db($conn,"$dbname");
 mysqli_select_db($conn,"rss_db");

 $sql = "
 INSERT lookup_age
 INTO $dbname
 FROM rss_db";

 mysqli_close($conn);
 ?>

3 个答案:

答案 0 :(得分:0)

我不知道这些是否会有所帮助,但您可以尝试:

create table `table2` like `table1`; 
insert `table2` select * from `table`;

or, as a single line perhaps

create table `table2` as select * from `table1`;

答案 1 :(得分:0)

尝试此查询,复制表格:

$sql = " create table  '$dbname' as select * FROM 'rss_db'";

答案 2 :(得分:0)

最终发现它!就像......一样简单。

$query = "INSERT INTO $dbname.lookup_age   
SELECT * FROM rss_db.lookup_age";