皆さん、こんにちは。これは、.sql ファイルを読み取り、各クエリを配列要素に格納するコードです。私の.sqlファイルには、CREATE TABLE、DROP、INSERTなどのさまざまなステートメントがあります
$fileLines = file('alltables.sql');
$templine = '';
foreach ($fileLines 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
$queries[] = $templine;
// Reset temp variable to empty
$templine = '';
}
}
// Here I further process $queries var
Windows プラットフォームでは正常に動作しますが、Linux サーバーで動作するかどうかはわかりませんので、コードを見て、(\t\r\ 0 \x0B) 異なるプラットフォームの改行と改行を処理するには:
$tmp=str_replace("\r\n", "\n", $line);
$tmp=str_replace("\r", "\n", $line);