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 サイトの他の関連記事を参照してください。