Manuel S: Problem mit PHP und MySQL

Beitrag lesen

Hallo,
folgendes Problem habe ich mit meiner Datenbank. Ich möchte ein komplettes Backup per php script erzeugen, das funtzt auch insofern, dass ich ne Datei erstelle und dort alle Befehle richtig drin habe. Zumindest sieht sie genauso aus wie eine Datei die von phpMyAdmin  erzeugt wird.

Nun bin ich dabei die Restore-Funktion zu schreiben und zwar prüfe ich zu erst ob die Datenbank existiert, wenn ja dann lösche ich sie, wenn nein dann mache ich weiter. Lese die exportierte Datei ein, schreibe sie in ne Variable und führe mysql_query() mit dieser Variable aus. Leider funktioniert das nicht! er macht einfach gar nichts. Wenn ich jedoch direkt in phpMyAdmin mit dem SQL editor den Code, den ich per "copy" dort einfüge, ausführen lasse funktioniert er insofern, dass alles wiederhergestellt wird.

Das hier ist der Inhalt der exportierten Datei:

--
-- Tabellenstruktur ta_config
--

CREATE TABLE IF NOT EXISTS ta\_config (
  ID int(10) unsigned NOT NULL auto_increment,
  name varchar(50) NOT NULL,
  wert varchar(100) NOT NULL,
  PRIMARY KEY  (ID),
  UNIQUE KEY ID (ID)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='Einstellungen' AUTO_INCREMENT=2;

INSERT INTO ta\_config (ID, name, wert) VALUES
  (1, 'maxanzahltapes', '10');

--
-- Tabellenstruktur ta_genre
--

CREATE TABLE IF NOT EXISTS ta\_genre (
  id int(10) unsigned NOT NULL auto_increment,
  genre varchar(150) NOT NULL,
  info varchar(250) NOT NULL,
  PRIMARY KEY (id),
  UNIQUE KEY id (id)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='Genre' AUTO_INCREMENT=10;

INSERT INTO ta\_genre (id, genre, info) VALUES
  (1, 'POP', '-'),
  (2, 'Rock', '-'),
  (3, 'Metal', '-'),
  (4, 'Hard-Rock', '-'),
  (5, 'POP-Rock', '-'),
  (8, 'Hip-Hop', '-'),
  (9, 'Techno', '-');

--
-- Tabellenstruktur ta_music
--

CREATE TABLE IF NOT EXISTS ta\_music (
  id int(10) unsigned NOT NULL auto_increment,
  date int(10) NOT NULL,
  tape int(10) NOT NULL,
  author varchar(100) NOT NULL,
  title varchar(100) NOT NULL,
  album varchar(100) NOT NULL,
  year int(10) NOT NULL,
  info varchar(250) NOT NULL,
  genre int(10) NOT NULL,
  length varchar(10) NOT NULL,
  PRIMARY KEY  (id),
  UNIQUE KEY id (id)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='Music' AUTO_INCREMENT=4;

INSERT INTO ta\_music (id, date, tape, author, title, album, year, info, genre, length) VALUES
  (1, '1215257905', 1, 'Blühen', 'Pferdkotzen', 'Zum kotzen', 1999, '-', 1, '3:19'),
  (2, '1215258108', 2, 'Beach Boys', 'Surfin USA', 'The Best Ever', 1995, '-', 1, '-'),
  (3, '1215258042', 2, 'BeachBoys', 'Barbara-Ann', 'The Best Ever', 1995, '-', 1, '-');

--
-- Tabellenstruktur ta_tapes
--

CREATE TABLE IF NOT EXISTS ta\_tapes (
  id int(10) unsigned NOT NULL auto_increment,
  date int(10) NOT NULL,
  name varchar(50) NOT NULL,
  info varchar(250) NOT NULL,
  genre int(10) NOT NULL,
  year int(10) NOT NULL,
  dateiname varchar(250) NOT NULL,
  PRIMARY KEY  (id),
  UNIQUE KEY id (id)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='Music' AUTO_INCREMENT=5;

INSERT INTO ta\_tapes (id, date, name, info, genre, year, dateiname) VALUES
  (1, 1215257870, 'Bravo Hits 1', '-', 1, 2000, '/musik/bravo1.mp3'),
  (2, 1215258085, 'The Compilation', 'Beach Boys', 1, 1995, '/musik/beach18989.mp3'),
  (3, 1215258063, 'The Best', '-', 1, 0, '-'),
  (4, 1215365701, 'Tape 38', 'Das beste der Neunziger', 1, 2000, '/musik/tape4.mp3');

Ach bei der Ausführung meldet phpMyAdmin noch diesen fehler:
#1064 - 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 ';# MySQL lieferte ein leeres Resultat zurück (d. h. null Zeilen).

INS' at line 11

aber ich glaube, dass der nicht viel zu sagen hat. jedenfalls habe ich das so aus anderen foren gelesen.

Ich komme echt nicht weiter ...

Gruß Manuel

PS: Mittlerweile habe ich den Teil der die Datenbank neu erstellt schon raus genommen und lasse diese im "wiederherstellen-script" direkt ausführen, dann klappt das mit der Datenbank, nur nicht mit den Tabellen und Inhalten.

Vielleicht ist es auch eine Lösung, wenn ich die Datei einlese und aufspalte in die einzelnen Querys und diese dann getrennt von einander ausführe. Leider habe ich aber keine Ahnung wie ich das machen soll ;-)