Za prvé, tato část kódu nepřeskakuje komentáře, doslova je přidá do vaší $templine :
if(substr($line, 0, 2) == '--' || $line == '') //Skip all comments
$templine.=$line;
Za druhé, zde se pokusíte provést dotaz pomocí $templine přiřazeno výše (pokud někdy bylo přiřazeno, nebo jinak '' ), kde ve skutečnosti chcete provést dotaz pomocí $line :
if(substr(trim($line), -1, 1) == ';'){
mysql_query($templine) or print('Error: '.mysql_error().'<br>');
Takže v zásadě by to mělo fungovat o něco lépe:
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>');
}
}