restore eines mysql-dumps mit php
cheops
- php
hi,
ich habe mit der mysql-workbench einen dump einer tabelle erstellt. jetzt möchte ich via php diesen dump in einer anderen datenbank wieder einspielen... bekomme aber bei allen versuchen permanent fehler :-(
das ist der anfang meines dumps:
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
fehlercode: 1064
fehlertext: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;/*!40101 SET @OLD_COLL' at line 1
ich hab schon probiert, umbrüche zu entfernen oder diesen definitionsblock komplett weg zu lassen... bisher alles ohne erfolg... wenn ich meinen dump in einem script-tab von der mysql-workbench ausführe ist alles ok...
gibt es irgendwas besonderes zu beachten beim verarbeiten dieser dumps mit php? warum kann man das nicht wieder 1:1 an die DB zurückgeben?
achja: mir ist durchaus bewusst, dass es andere wege für restore eines dumps gibt, es soll/muss aber in diesem fall dieser weg sein :-)
danke & gruß
marcus
Hi!
ich habe mit der mysql-workbench einen dump einer tabelle erstellt. jetzt möchte ich via php diesen dump in einer anderen datenbank wieder einspielen... bekomme aber bei allen versuchen permanent fehler :-(
PHP beziehungsweise die MySQL-API lässt nur ein Statement pro mysql_query()-Aufruf zu. Und das ist auch gut so, damit Little Bobby Tables nicht so einfach funktioniert. Wenn du den Dump nicht vereinzeln willst - was nicht ganz trivial ist, weil das ; auch als Datenbestandteil vorkommen kann - musst du mysqli_multi_query() verwenden, plus Austausch der restlichen Funktionen zum Verbindungsaufbau in die mysqli-Variante.
Lo!
hi,
vielen dank für den hinweis... war mir bisher nicht bekannt... habs jetzt gesplittet und führe mehrere sqls aus.... funzt bombe :-)
danke & gruß
marcus