解析包含分号的SQL(在PHP中)

时间:2012-06-04 08:40:54

标签: php mysql parsing

我编写了一个从MySQL转储加载数据的SQL解析器。问题是一些SQL语句本身包含分号,因此我的解析器将其视为EOL,因为我使用

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

解析转储文件。

有关如何管理此问题的任何建议?我被困了:S

修改

抱歉,我忘了说问题是当PHP从转储文件向DB写入数据时,它在读取包含分号的句子时返回错误。

我知道它不是一个完整的解析器,它只是逐行读取。我是新手。我只需要将相同的数据库(通过转储文件)“克隆”给许多人,改变一些数据。

1 个答案:

答案 0 :(得分:0)

试试这个

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

所以你只会得到;在行尾。但是,只有当您的文件格式化为每个语句以a结束时,它才会起作用;并且每个新陈述都以新的一行开头。