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

标签 php mysql parsing

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

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

解析转储文件。

关于如何管理它有什么建议吗?我卡住了:S

编辑:

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

我知道它不是一个完整的解析器,它只是逐行读取。我对此很陌生。我只需要将相同的数据库(通过转储文件)“克隆”到许多数据库,更改少量数据。

最佳答案

试试这个

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

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

关于php - 解析包含分号的 SQL(在 PHP 中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10878514/

相关文章:

python - 如何将MySQL查询结果转换为JSON对象?

mysql - 如何从 ~200k 文本/html 生成与相似文本匹配/比较的散列?

php - php mysql 数据库连接错误

java - URLConnection 和 POST 方法 android

android - 使用 dom 和特殊字符解析 XML

javascript - x-editable 的成功回调不起作用

javascript - 每次有人插入数据库时​​ PHP MYSQL Javascript 都会播放音频

shell - 如何将shell中的strace解析为纯文本?

php - Luracast ReSTLer 身份验证

javascript - Bootstrap 行高随单个 div 变化