2009-03-27 15 views
0

phpMyAdminで作成したダンプを解析してすべてのクエリを実行するデータベース復元機能を作成します。mysql split multiquery string with PHP

私はすでにクエリを実行するMySQLクラスを持っていますが、これは単一クエリを行う方法しか知りません。私はファイルの内容を単一のクエリに分割する方法を探しています。

私はpreg_splitで遊ぼうとしましたが、動作させることはできませんでした。

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

正規表現はあまりよくありません。私の目標を達成する方法はありますか?

答えて

0

は最終的に私は右の正規表現を見つけることができた:

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

それは後にクエリを分割します。複数の行にクエリが広がっていても、クエリに含まれていても署名はありません。それはラインの終わりにそれを探しますから。

0

$ contentにプロシージャ、関数、またはトリガを格納していると、上記のコメントに分割すると不正な文字列になります。