ホームページ  >  記事  >  バックエンド開発  >  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 を使用した MySQL データベースへの .sql ファイルのインポート

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 ファイルを 1 行ずつ反復処理して、発生したクエリを実行します。エラー処理が提供され、インポートが成功すると成功メッセージが出力されます。

以上がPHP を使用してエラーが発生せずに .sql ファイルを MySQL データベースにインポートする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。