Connect to multiple MySQL databases with PHP

Within the project sometimes requires using multiple MySQL databases. It may be the existing database from other project or the new one.

To handle this with PHP requires to create separate connections for each database and use the connection accordingly while manipulating data in MySQL database.

Connect to multiple mysql database with PHP


Contents

  1. Configuration
  2. Manipulating Records
  3. Conclusion

 


 

1. Configuration

Create a config.php for database configuration.

Here, I am creating the connection with two databases – tutorial_db1 and tutorial_db2.

Completed Code

<?php

$host = "localhost"; /* Host name */
$user = "root"; /* User */
$password = ""; /* Password */
$dbname1 = "tutorial_db1"; /* Database name 1 */
$dbname2 = "tutorial_db2"; /* Database name 2 */

$conn_1 = mysqli_connect($host, $user, $password,$dbname1);
// Check connection
if (!$conn_1) {
 die("Connection failed: " . mysqli_connect_error());
}

$conn_2 = mysqli_connect($host, $user, $password,$dbname2);
// Check connection
if (!$conn_2) {
 die("Connection failed: " . mysqli_connect_error());
}

 

2. Manipulating Records

From the first database select all records from the posts table and insert a record in the users table in another database.

Completed Code

<?php

include "config.php";

// Select records from database 1
$select_query = "select * from posts ";
$result = mysqli_query($conn_1,$select_query);
$posts_arr = array();
while($row = mysqli_fetch_array($result)){
 $posts_arr[] = $row;
}

// Insert records in database 2
$insert_query = "insert into users(fname,lname,email) values('Yogesh','Singh','yogesh@makitweb.com')";
mysqli_query($conn_2,$insert_query);

 

3. Conclusion

If you want to use multiple MySQL databases in your PHP project then you need to create separate connection variable for your databases and use variables according to the database on which you are performing an action.

Related Post

Spread the love

Be First to Comment

Leave a Reply

Your email address will not be published. Required fields are marked *