HTML — PHP-запрос для копирования таблиц

Это должно быть где-то в Интернете, но мне не везет после нескольких часов попыток сделать это.

Итак, у меня есть 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-кодом эти формы. Форма для создания таблиц отлично работает в только что созданной БД. Но это форма для копирования таблиц из БД, уже созданной, во вновь созданную БД.

<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>

Я хотел скопировать таблицы, структуру и данные под названием ‘lookup_age’ и ‘score’ в новую БД из базы данных под названием ‘rss_db’. Я переписал нужную страницу PHP по-разному, и она была оставлена ​​так, как я видел в 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);
?>

0

Решение

Я не знаю, поможет ли это, но вы можете попробовать:

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

or, as a single line perhaps

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

Другие решения

Попробуйте этот запрос, чтобы скопировать таблицы:

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

НАКОНЕЦ НАЙТИ ЭТО !! Так просто как…

$query = "INSERT INTO $dbname.lookup_age
SELECT * FROM rss_db.lookup_age";
0
По вопросам рекламы [email protected]