如何检查MySQL查询语法?

时间:2011-11-16 22:56:37

标签: php mysql syntax

我正在开发自己的数据库管理系统,用PHP开发,我为自己的查询选择了与MySQL查询相同的语法。

我想知道是否有工具可以检查MySQL查询是否有效,而无需连接到真正的MySQL数据库。

有人有办法吗?我虽然使用了一些正则表达式,但我不确定这是最简单(也是最快)的方法。

提前感谢!

4 个答案:

答案 0 :(得分:4)

有一些很好的PHP SQL解析器可以将查询分解为结构化数组。

您可以通过解析器运行代码,看看它是否中断以确定它是否是有效的语法。

http://code.google.com/p/php-sql-parser/

http://pear.php.net/package/SQL_Parser

是我过去使用的2个。

答案 1 :(得分:2)

AmbiguousRuleException:
Rules run_tophat_single_end and run_tophat are ambiguous for the file tophat_junction_discovery_revision_supplement/HTW2/junctions.bed.
Expected input files:
        run_tophat_single_end: ./HTW2.fastq.gz Annotations/dmel-all-r5.9.gff
        run_tophat: ./HTW2_1.fastq.gz ./HTW2_2.fastq.gz Annotations/dmel-all-r5.9.gff

答案 2 :(得分:1)

这样的工具无法确保存在表或列。该工具需要数据库模式来检查错误。我使用heidisql并且如果我有更多钱ı会购买权利在mysql服务器上拥有多个数据库并且我将执行“创建数据库”或复制数据库代码并在没有任何值的第二个数据库上进行测试,或者优先考虑价值观。

答案 3 :(得分:0)

我相信你可以尝试在phpmyadmin中测试你的代码,而不会影响你的数据库。

REGEX会有太多工作......也许创建一个虚拟表并尝试语法?