>  기사  >  백엔드 개발  >  오류 없이 PHP를 사용하여 .sql 파일을 MySQL 데이터베이스로 가져오는 방법은 무엇입니까?

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

Linda Hamilton
Linda Hamilton원래의
2024-10-31 10:45:02817검색

How to Import a .sql File into a MySQL Database Using PHP Without Encountering Errors?

PHP를 사용하여 .sql 파일을 MySQL 데이터베이스로 가져오기

PHP를 통해 .sql 파일을 MySQL 데이터베이스로 가져오려고 할 때, "가져오는 동안 오류가 발생했습니다. 가져오기 파일이 이 스크립트와 동일한 폴더에 저장되어 있는지 확인하고 값을 확인하세요."라는 오류가 발생할 수 있습니다. 이 오류는 일반적으로 더 이상 사용되지 않는 MySQL 확장 또는 잘못된 사용으로 인해 발생합니다.

더 이상 사용되지 않는 mysql_* 확장은 PHP 7.0.0에서 제거되어 사용할 수 없게 됩니다. PHP 문서에서 제안된 대로 mysqli 또는 PDO_MySQL 확장을 대안으로 사용하는 것이 좋습니다.

또는 다음 코드 조각을 활용하여 .sql 파일을 가져올 수 있습니다.

<code class="php"><?php

// File name
$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());

// Declare variables
$templine = '';
$lines = file($filename);

// Iterate through file lines
foreach ($lines as $line) {
    // Ignore comments and empty lines
    if (substr($line, 0, 2) == '--' || $line == '') {
        continue;
    }

    // Append line to temporary query
    $templine .= $line;
    // Check for semicolon to mark end of query
    if (substr(trim($line), -1, 1) == ';') {
        // Execute query and handle errors
        mysql_query($templine) or print('Error performing query \'<strong>' . $templine . '\': ' . mysql_error() . '<br /><br />');
        // Reset temporary query
        $templine = '';
    }
}

// Success message
echo "Tables imported successfully";

?></code>

이 접근 방식은 MySQL 서버에 연결하고 데이터베이스를 선택한 다음 .sql 파일을 한 줄씩 반복하면서 발생한 쿼리를 실행합니다. 오류 처리 기능을 제공하고 가져오기 성공 시 성공 메시지를 인쇄합니다.

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

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