Е, от една страна, тази част от кода не пропуска коментари, той буквално ги добавя към вашия $templine :
if(substr($line, 0, 2) == '--' || $line == '') //Skip all comments
$templine.=$line;
Второ, тук се опитвате да изпълните заявка с $templine присвоен по-горе (ако някога е бил присвоен, или по друг начин '' ), където всъщност искате да изпълните заявка с $line :
if(substr(trim($line), -1, 1) == ';'){
mysql_query($templine) or print('Error: '.mysql_error().'<br>');
Така че по принцип това би трябвало да работи малко по-добре:
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>');
}
}