PHP SQL: как сохранить данные в несколько баз данных из одной формы html или как автоматически копировать данные из одной базы данных в другую базу данных

У меня есть html-форму, например

<form action="form.php" method="post"> First name:<br> <input type="text" id="fname" name="fname"> <br> Last name:<br> <input type="text" id="lname" name="lname"> <br><br> <input type="submit" value="Submit"> </form> 

и form.php

 <?php $servername = "localhost"; $username = "database1"; $password = "xxxxxxxx"; $dbname = "database1"; // Create connection $conn = new mysqli($servername, $username, $password, $dbname); // Check connection if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } //escape variables for security $fname = mysqli_real_escape_string($conn, $_POST['fname']); $lname = mysqli_real_escape_string($conn, $_POST['lname']); $sql = "INSERT INTO mytable (fname,lname) VALUES ('$fname','$lname')"; if ($conn->query($sql) === TRUE) { echo "Successfully Saved"; } else { echo "Error: Go back and Try Again ! " . $sql . "<br>" . $conn->error; } $conn->close(); ?> 

Form.php сохраняет данные в database1 данных1.

Я хочу, чтобы эти данные сохранялись в другой базе database2 базы database2 вместе с database1 .

Является ли это возможным ?? Если да, то какие изменения должны быть внесены в код?

Если это невозможно, можно ли автоматически копировать данные из database1 в database2 данных2? Всякий раз, когда новая строка добавляется в database1 данных1, она должна автоматически копироваться в database2 .

Я хочу, чтобы те же данные были в двух разных базе данных. Как я могу достичь любого из вышеуказанного?

Solutions Collecting From Web of "PHP SQL: как сохранить данные в несколько баз данных из одной формы html или как автоматически копировать данные из одной базы данных в другую базу данных"

С php вам просто нужно создать новое соединение с БД.

 <?php $servername = "localhost"; $username = "database1"; $password = "xxxxxxxx"; $dbname = "database1"; $servernameS = "localhost"; $usernameS = "database2"; $passwordS = "xxxxxxxx"; $dbnameS = "database2"; // Create connection $conn = new mysqli($servername, $username, $password, $dbname); $connS = new mysqli($servernameS, $usernameS, $passwordS, $dbnameS); // Check connection if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } if ($connS->connect_error) { die("Connection failed: " . $connS->connect_error); } //escape variables for security $fname = mysqli_real_escape_string($conn, $_POST['fname']); $lname = mysqli_real_escape_string($conn, $_POST['lname']); $sql = "INSERT INTO mytable (fname,lname) VALUES ('$fname','$lname')"; if ($conn->query($sql) === TRUE) { echo "Successfully Saved"; } else { echo "Error: Go back and Try Again ! " . $sql . "<br>" . $conn->error; } if ($connS->query($sql) === TRUE) { echo "Successfully Saved"; } else { echo "Error: Go back and Try Again ! " . $sql . "<br>" . $connS->error; } $conn->close(); $connS->close(); ?> 

Похоже, вам нужно настроить репликацию.

Вот официальная документация по тиражированию. Вот более простое пошаговое руководство по настройке.

Если репликация не то, что вы хотели, вы могли бы сделать то же самое, подключившись к базе данных2 в дополнение к базе данных1, затем выполнив запрос один раз на обоих.

Вы можете использовать что-то вроде метода mysqli :: selectDB :

 <?php $mysqli = new mysqli("localhost", "my_user", "my_password", "test"); /* check connection */ if (mysqli_connect_errno()) { printf("Connect failed: %s\n", mysqli_connect_error()); exit(); } /* return name of current default database */ if ($result = $mysqli->query("SELECT DATABASE()")) { $row = $result->fetch_row(); printf("Default database is %s.\n", $row[0]); $result->close(); } /* change db to world db */ $mysqli->select_db("world"); /* return name of current default database */ if ($result = $mysqli->query("SELECT DATABASE()")) { $row = $result->fetch_row(); printf("Default database is %s.\n", $row[0]); $result->close(); } $mysqli->close(); ?> 

Ознакомьтесь с руководством .

Аналогичный вопрос, как у вас в SO.