Mysql
 sql >> Database >  >> RDS >> Mysql

Il ripristino del database MySQL genera errori

Bene, per esempio, questa parte del codice non salta commenti, li aggiunge letteralmente al tuo $templine :

    if(substr($line, 0, 2) == '--' || $line == '') //Skip all comments
        $templine.=$line;

In secondo luogo, qui provi ad eseguire la query con $templine assegnato sopra (se mai è stato assegnato, o altrimenti '' ), dove vuoi effettivamente eseguire la query con $line :

    if(substr(trim($line), -1, 1) == ';'){
        mysql_query($templine) or print('Error: '.mysql_error().'<br>');

Quindi, sostanzialmente questo dovrebbe funzionare un po' meglio:

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