1

MySQL ダンプからデータをロードする SQL パーサーをコーディングしました。問題は、一部の SQL ステートメントにセミコロン自体が含まれているため、パーサーが使用する EOL として受け取ることです。

$sqlRows = explode(';', $sqlFile);

ダンプファイルを解析します。

これを管理する方法について何か提案はありますか? 私は立ち往生しています:S

編集:

問題は、PHP がダンプ ファイルから DB にデータを書き込むときに、セミコロンを含む文を読み取るとエラーが返されることです。

私はそれが完全なパーサーではないことを知っています.1行ずつ読むだけです。私はこれが初めてです。同じDBを(ダンプファイルを介して)多くのデータに「複製」し、いくつかのデータを変更するだけです。

4

1 に答える 1

0

これを試して

$sqlRows=explode(";\n",$sqlFile);

したがって、 ; のみが取得されます。それは行末にあります。ただし、各ステートメントが ; で終わるようにファイルがフォーマットされている場合にのみ機能します。そして、それぞれの新しいステートメントは新しい行で始まります。

于 2012-06-04T08:46:03.247 に答える