我编写了一个从MySQL转储加载数据的SQL解析器。问题是一些SQL语句本身包含分号,因此我的解析器将其视为EOL,因为我使用
$sqlRows = explode(';', $sqlFile);
解析转储文件。
有关如何管理此问题的任何建议?我被困了:S
修改
抱歉,我忘了说问题是当PHP从转储文件向DB写入数据时,它在读取包含分号的句子时返回错误。
我知道它不是一个完整的解析器,它只是逐行读取。我是新手。我只需要将相同的数据库(通过转储文件)“克隆”给许多人,改变一些数据。
答案 0 :(得分:0)
试试这个
$sqlRows=explode(";\n",$sqlFile);
所以你只会得到;在行尾。但是,只有当您的文件格式化为每个语句以a结束时,它才会起作用;并且每个新陈述都以新的一行开头。