>데이터 베이스 >MySQL 튜토리얼 >PHP를 사용하여 .sql 파일을 MySQL로 가져오는 방법은 무엇입니까?

PHP를 사용하여 .sql 파일을 MySQL로 가져오는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-12-18 01:21:17309검색

How to Import a .sql File into MySQL Using PHP?

PHP를 사용하여 .sql 파일을 MySQL 데이터베이스로 가져오는 방법(대체 방법)

PHP를 사용하여 .sql 파일을 MySQL 데이터베이스로 가져오기 PHP는 데이터베이스 마이그레이션을 수행하거나 데이터를 복원할 때 유용한 작업이 될 수 있습니다.

코드 문제를 해결하려면, .sql 파일이 동일한 디렉터리에 있어도 가져오기가 실패하는 경우 다음 대체 방법을 사용하는 것이 좋습니다.

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

중요 사항:

  • 이 방법은 최신 PHP의 보안과 효율성을 위해 mysqli_* 또는 PDO로 대체되어야 하는 더 이상 사용되지 않는 mysql_* 함수를 사용합니다.
  • 가져오기 프로세스는 MySQL 클라이언트에 위임되며, 이는 가능한 경우 선호되는 접근 방식입니다.
  • $filename, $mysql_host, $mysql_username, 데이터베이스 설정에 따라 $mysql_password 및 $mysql_database.
  • 오류 메시지를 검토하고 가져오기 파일의 구조가 올바른지 확인하세요. 유효한 SQL 문을 사용하세요.

위 내용은 PHP를 사용하여 .sql 파일을 MySQL로 가져오는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.