mille
Erfahrenes Mitglied
Hallo!
Ich habe eine Backup Datei aus einer Datenbank erstellt. So sieht ein Beispielbackup aus, das ich gerade gezogen habe:
So weit so gut. Nun will ich das wieder einlesen. Hochladen klappt und auslesen der Datei auch (zeilenweise).
Nun dachte ich mir zu erst, ich könnte ja einfach den gesamten Inhalt nehmen und den als sqlquery versenden.
Aber nichts da, geht nicht. Mysql meldet folgenden Fehler:
Nun dachte ich mir, lese ich das ganze doch einfach Zeilen weise aus und schicke jeden query einzeln, sofern die gerade betrachtete Zeile mit "INSERT" oder "TRUNCATE" anfängt. Das hat auch schoen funktioniert. Aber eben beim Testen kam ich nun auch dazu, Umbrüche "\n" in der Datenbank zu speichern.
Damit funktioniert das zeilenweise Einlesen auch nicht mehr.
Wiekann ich nun noch angehen? könnt ihr mir helfen?
Wäre es vielleicht eine idee, einfah alle \n aus dem String zu entfernen?
Oder vielleicht gibt es ja eine Moeglichkeit, die Backupdatei anders zu strukturieren, so das ich alles mit einmal als query senden kann? Warum aber meckert der Sql-Parser, bei "--", das ist doch ein Kommentar ein SQL?
MfG
Danke für eure Anteilname
Ich habe eine Backup Datei aus einer Datenbank erstellt. So sieht ein Beispielbackup aus, das ich gerade gezogen habe:
Code:
-- Host: localhost
-- Erstellungszeit: 27. March 2006 um 16:06
-- PHP-Version: 5.1.1
--
-- Datenbank: `__tables`
--
-- --------------------------------------------------------
TRUNCATE TABLE `domain_menuepunkte`;
--
-- Daten für Tabelle `domain_menuepunkte`
--
INSERT INTO `domain_menuepunkte` (ID, menuepunkt, kategorie) VALUES ('3', 'Lackierung', '4');
INSERT INTO `domain_menuepunkte` (ID, menuepunkt, kategorie) VALUES ('2', 'Unfallinstandsetzung', '4');
INSERT INTO `domain_menuepunkte` (ID, menuepunkt, kategorie) VALUES ('4', 'Auto', '-1');
INSERT INTO `domain_menuepunkte` (ID, menuepunkt, kategorie) VALUES ('5', 'Busse', '-1');
INSERT INTO `domain_menuepunkte` (ID, menuepunkt, kategorie) VALUES ('6', 'Werbeplakatierung', '5');
-- Host: localhost
-- Erstellungszeit: 27. March 2006 um 16:06
-- PHP-Version: 5.1.1
--
-- Datenbank: `__tables`
--
-- --------------------------------------------------------
TRUNCATE TABLE `domain_menuepunkte_inhalt`;
--
-- Daten für Tabelle `domain_menuepunkte_inhalt`
--
INSERT INTO `domain_menuepunkte_inhalt` (ID, menuepunkt_ID, content) VALUES ('1', '2', 'Inhalt zum Menüpunkt <strong>Unfallinstandsetzung<br /><br /></strong>hier noch zusätzliche infos<br /><br /><br /><br />MillZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZalized');
INSERT INTO `domain_menuepunkte_inhalt` (ID, menuepunkt_ID, content) VALUES ('2', '3', '????????|Inhalt zuB <font size="4">Menü</font>pu<img src="/www.frank-domain.de/fckeditor/editor/images/smiley/msn/sad_smile.gif" alt="" />nkt<span class="Title"> <strong>Lacki<em><u>erun</u></em>g</strong></span>');
INSERT INTO `domain_menuepunkte_inhalt` (ID, menuepunkt_ID, content) VALUES ('3', '4', '<blockquote>In<sup>hal<font face="Comic Sans MS">t <span style="font-style: italic; font-weight: bold;">der <u><strong>KATEGO</strong></u>RIE </span>Au</font>to</sup></blockquote>');
INSERT INTO `domain_menuepunkte_inhalt` (ID, menuepunkt_ID, content) VALUES ('4', '5', 'Inhalt der <u>KATEGORIE</u> Busse');
INSERT INTO `domain_menuepunkte_inhalt` (ID, menuepunkt_ID, content) VALUES ('5', '6', '<table width=\"80%\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\" align=\"left\">
<tbody>
<tr>
<td>
<h3>Werbeplakatierung</h3>
<p>
<table width=\"150\" cellspacing=\"0\" cellpadding=\"0\" border=\"1\" style=\"float: right;\">
<tbody>
<tr>
<td width=\"1\" height=\"1\" bgcolor=\"#ff0066\" align=\"center\" colspan=\"3\" bordercolor=\"#33ff66\"><strong>Leistungen</strong></td>
</tr>
<tr>
<td width=\"1\" height=\"1\" bgcolor=\"#ff0066\" align=\"center\" colspan=\"3\" bordercolor=\"#cccc33\"> Preis</td>
<td width=\"1\" height=\"1\" bgcolor=\"#ff0066\" align=\"center\" colspan=\"3\" bordercolor=\"#cccc33\">Menge <br /></td>
<td width=\"1\" height=\"1\" bgcolor=\"#ff0066\" align=\"center\" colspan=\"3\" bordercolor=\"#cccc33\">Leistung <br /></td>
</tr>
<tr>
<td width=\"1\" height=\"1\" bgcolor=\"#ff0066\" align=\"center\" colspan=\"3\" bordercolor=\"#cccc33\"> 100</td>
<td width=\"1\" height=\"1\" bgcolor=\"#ff0066\" align=\"center\" colspan=\"3\" bordercolor=\"#cccc33\"> 20</td>
<td width=\"1\" height=\"1\" bgcolor=\"#ff0066\" align=\"center\" colspan=\"3\" bordercolor=\"#cccc33\"> Fotos</td>
</tr>
<tr>
<td width=\"1\" height=\"1\" bgcolor=\"#ff0066\" align=\"center\" colspan=\"3\" bordercolor=\"#cccc33\"> 150</td>
<td width=\"1\" height=\"1\" bgcolor=\"#ff0066\" align=\"center\" colspan=\"3\" bordercolor=\"#cccc33\"> 35</td>
<td width=\"1\" height=\"1\" bgcolor=\"#ff0066\" align=\"center\" colspan=\"3\" bordercolor=\"#cccc33\"> Designvorlagen</td>
</tr>
<tr>
<td width=\"1\" height=\"1\" bgcolor=\"#ff0066\" align=\"center\" colspan=\"3\" bordercolor=\"#cccc33\"> 100</td>
<td width=\"1\" height=\"1\" bgcolor=\"#ff0066\" align=\"center\" colspan=\"3\" bordercolor=\"#cccc33\"> 5</td>
<td width=\"1\" height=\"1\" bgcolor=\"#ff0066\" align=\"center\" colspan=\"3\" bordercolor=\"#cccc33\">Skriptklassen <br /></td>
</tr>
</tbody>
</table>
Wir bieten auch die Beschriftung ihrer Wagen und Busse an.</p>
<p>Nach Unfällen, steth es ausßer frage das wir bla und suelz u nd asdf <br /></p>
<p>a</p>
<p>sdfa</p>
<p>dsf</p>
<br />
<p> </p>
<p>asf</p>
<p><br /></p>
</td>
</tr>
</tbody>
</table>');
So weit so gut. Nun will ich das wieder einlesen. Hochladen klappt und auslesen der Datei auch (zeilenweise).
Nun dachte ich mir zu erst, ich könnte ja einfach den gesamten Inhalt nehmen und den als sqlquery versenden.
PHP:
mysql_query($der_string_oben_drueber);
Aber nichts da, geht nicht. Mysql meldet folgenden Fehler:
Code:
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 '; -- -- Daten für Tabelle `domain_menuepunkte` -- INSERT INTO `domain_menu' at line 10
Nun dachte ich mir, lese ich das ganze doch einfach Zeilen weise aus und schicke jeden query einzeln, sofern die gerade betrachtete Zeile mit "INSERT" oder "TRUNCATE" anfängt. Das hat auch schoen funktioniert. Aber eben beim Testen kam ich nun auch dazu, Umbrüche "\n" in der Datenbank zu speichern.
Damit funktioniert das zeilenweise Einlesen auch nicht mehr.
Wiekann ich nun noch angehen? könnt ihr mir helfen?
Wäre es vielleicht eine idee, einfah alle \n aus dem String zu entfernen?
Oder vielleicht gibt es ja eine Moeglichkeit, die Backupdatei anders zu strukturieren, so das ich alles mit einmal als query senden kann? Warum aber meckert der Sql-Parser, bei "--", das ist doch ein Kommentar ein SQL?
MfG
Danke für eure Anteilname
Zuletzt bearbeitet: