Bueno, por un lado, esta parte del código no salta comentarios, literalmente los agrega a su $templine
:
if(substr($line, 0, 2) == '--' || $line == '') //Skip all comments
$templine.=$line;
En segundo lugar, aquí intenta ejecutar la consulta con $templine
asignado arriba (si alguna vez fue asignado, o de lo contrario ''
), donde realmente desea ejecutar la consulta con $line
:
if(substr(trim($line), -1, 1) == ';'){
mysql_query($templine) or print('Error: '.mysql_error().'<br>');
Entonces, básicamente esto debería funcionar un poco mejor:
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>');
}
}