PHP to import Mysqli tables in run time

This is the PHP script to import or restore mysqli tables in run time

<?php
    // Set database credentials
   $hostname     = 'localhost'; // MySql Host
   $username = 'root'; // MySql Username
   $password = 'root'; // MySql Password
   $dbname     = 'dbname'; // MySql Database Name
   // File Path which need to import
   $filePath   = 'sql_files/mysql_db.sql';
 
    // Connect & select the database
   $con = new mysqli($hostname, $username, $password, $dbname);
 
    // Temporary variable, used to store current query
    $templine = '';
 
    // Read in entire file
    $lines = file($filePath);
 
    $error = '';
 
    // Loop through each line
    foreach ($lines as $line){
        // Skip it if it's a comment
        if(substr($line, 0, 2) == '--' || $line == ''){
            continue;
        }
 
        // Add this line to the current segment
        $templine .= $line;
 
        // If it has a semicolon at the end, it's the end of the query
        if (substr(trim($line), -1, 1) == ';'){
            // Perform the query
            if(!$con->query($templine)){
                $error .= 'Error performing query "<b>' . $templine . '</b>": ' . $db->error . '<br /><br />';
            }
 
            // Reset temp variable to empty
            $templine = '';
        }
    }
    $con->close();
    echo  !empty($error)?$error:"Import Success";
?>

Leave a Comment