我编写了一个从 MySQL 转储中加载数据的 SQL 解析器。问题是一些 SQL 语句本身包含分号,所以我的解析器在我使用时将其视为 EOL
$sqlRows = explode(';', $sqlFile);
解析转储文件。
关于如何管理它有什么建议吗?我卡住了:S
编辑:
对不起,我忘了说问题是当PHP从转储文件中向DB写入数据时,它在读取包含分号的句子时返回错误。
我知道它不是一个完整的解析器,它只是逐行读取。我对此很陌生。我只需要将相同的数据库(通过转储文件)“克隆”到许多数据库,更改少量数据。
最佳答案
试试这个
$sqlRows=explode(";\n",$sqlFile);
所以你只会得到;在行尾。但是,只有当您的文件格式为每个语句都以 ; 结束时,它才会起作用。并且每个新语句都在一个新行开始。
关于php - 解析包含分号的 SQL(在 PHP 中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10878514/