Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment importer un fichier .sql dans la base de données mysql en utilisant PHP ?

Avertissement : mysql_* est obsolète depuis PHP 5.5.0 et a été supprimée depuis PHP 7.0.0. Au lieu de cela, soit le mysqli ou PDO_MySQL l'extension doit être utilisée. Voir aussi la Présentation de l'API MySQL pour plus d'aide lors du choix d'une API MySQL.
Dans la mesure du possible, l'importation d'un fichier vers MySQL doit être déléguée au client MySQL.

J'ai une autre façon de faire cela, essayez ceci

<?php

// Name of the file
$filename = 'churc.sql';
// MySQL host
$mysql_host = 'localhost';
// MySQL username
$mysql_username = 'root';
// MySQL password
$mysql_password = '';
// Database name
$mysql_database = 'dump';

// Connect to MySQL server
mysql_connect($mysql_host, $mysql_username, $mysql_password) or die('Error connecting to MySQL server: ' . mysql_error());
// Select database
mysql_select_db($mysql_database) or die('Error selecting MySQL database: ' . mysql_error());

// Temporary variable, used to store current query
$templine = '';
// Read in entire file
$lines = file($filename);
// 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
    mysql_query($templine) or print('Error performing query \'<strong>' . $templine . '\': ' . mysql_error() . '<br /><br />');
    // Reset temp variable to empty
    $templine = '';
}
}
 echo "Tables imported successfully";
?>

Cela fonctionne pour moi