Cóż, po pierwsze, ta część kodu nie pomija komentarze, dosłownie dodaje je do twojego $templine
:
if(substr($line, 0, 2) == '--' || $line == '') //Skip all comments
$templine.=$line;
Po drugie, tutaj próbujesz wykonać zapytanie za pomocą $templine
przypisane powyżej (jeśli kiedykolwiek zostało przypisane lub w inny sposób ''
), gdzie faktycznie chcesz wykonać zapytanie za pomocą $line
:
if(substr(trim($line), -1, 1) == ';'){
mysql_query($templine) or print('Error: '.mysql_error().'<br>');
Więc w zasadzie to powinno działać nieco lepiej:
foreach($lines as $line){
if(substr($line, 0, 2) == '--' || $line == '') //Skip all comments
continue;
if(substr(trim($line), -1, 1) == ';'){
mysql_query(trim($line)) or print('Error: '.mysql_error().'in ' . $line . '<br>');
}
}