2009-03-27 5 views
0

Ich möchte eine Datenbank wiederherstellen Funktion, die einen Dump mit phpMyAdmin analysiert wird und alle Abfragen ausführen wird.mysql split multiquery string mit php

Ich habe bereits eine MySQL-Klasse, die die Abfrage durchführt, aber sie weiß nur, wie man eine einzelne Abfrage durchführt. Ich suche nach einer Möglichkeit, den Dateiinhalt in einzelne Abfragen aufzuteilen.

Ich habe versucht mit preg_split zu spielen ... habe es aber nicht geschafft, es zum Laufen zu bringen.

$queries = preg_split('/[(.+);\s*\n/', $content, -1, PREG_SPLIT_NO_EMPTY); 

Ich bin nicht sehr gut mit regulären Ausdrücken. Kann ich mein Ziel erreichen?

Antwort

0

Schließlich gelang es mir, die richtige regex zu finden:

$queries = preg_split('/[.+;][\s]*\n/', $content, -1, PREG_SPLIT_NO_EMPTY); 

es die Abfrage nach der aufspaltet; Zeichen und bricht nicht ab, auch wenn die Abfrage auf mehrere Zeilen verteilt ist oder die Abfrage enthält; weil es am Ende einer Zeile danach sucht.

0

Ich denke, Spaltung in obigen Kommentaren macht schlechte Zeichenfolgen, wenn Sie Prozeduren, Funktionen oder Trigger in $ Inhalt gespeichert haben.