sql >> Databasteknik >  >> RDS >> Mysql

Att återställa mysql-databasen ger fel

Tja, den här delen av koden hoppar inte över kommentarer, lägger den bokstavligen till dem i din $templine :

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

För det andra, här försöker du utföra en fråga med $templine tilldelat ovan (om det någonsin tilldelats, eller på annat sätt '' ), där du faktiskt vill köra frågan med $line :

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

Så i princip borde detta fungera något bättre:

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


  1. LPAD i SQL Server 2008

  2. MySql i DNX 5.0

  3. SQL Server-replikering kräver det faktiska servernamnet för att göra en anslutning till servern

  4. SQL (MySQL) vs NoSQL (CouchDB)