sql >> Base de Datos >  >> RDS >> Mysql

¿Cómo importo un archivo .sql en la base de datos mysql usando PHP?

Advertencia: mysql_* La extensión está obsoleta a partir de PHP 5.5.0 y se eliminó a partir de PHP 7.0.0. En su lugar, el mysqli o PDO_MySQL se debe usar la extensión. Consulte también la Descripción general de la API de MySQL para obtener más ayuda al elegir una API de MySQL.
Siempre que sea posible, la importación de un archivo a MySQL debe delegarse al cliente de MySQL.

Tengo otra forma de hacer esto, prueba esto

<?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";
?>

Esto está funcionando para mí