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>');
}
}