Это должно быть где-то в Интернете, но мне не везет после нескольких часов попыток сделать это.
Итак, у меня есть 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);
?>
Я не знаю, поможет ли это, но вы можете попробовать:
create table `table2` like `table1`;
insert `table2` select * from `table`;
or, as a single line perhaps
create table `table2` as select * from `table1`;
Попробуйте этот запрос, чтобы скопировать таблицы:
$sql = " create table '$dbname' as select * FROM 'rss_db'";
НАКОНЕЦ НАЙТИ ЭТО !! Так просто как…
$query = "INSERT INTO $dbname.lookup_age
SELECT * FROM rss_db.lookup_age";