Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Das Wiederherstellen der MySQL-Datenbank gibt Fehler

Nun, zum einen wird dieser Teil des Codes nicht übersprungen Kommentare, es fügt sie buchstäblich zu Ihrer $templine hinzu :

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

Zweitens versuchen Sie hier, eine Abfrage mit $templine auszuführen oben zugewiesen (falls es jemals zugewiesen wurde, oder andernfalls '' ), wo Sie eigentlich eine Abfrage mit $line ausführen möchten :

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

Im Grunde sollte das also etwas besser funktionieren:

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