我正在开发自己的数据库管理系统,用PHP开发,我为自己的查询选择了与MySQL查询相同的语法。
我想知道是否有工具可以检查MySQL查询是否有效,而无需连接到真正的MySQL数据库。
有人有办法吗?我虽然使用了一些正则表达式,但我不确定这是最简单(也是最快)的方法。
提前感谢!
答案 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会有太多工作......也许创建一个虚拟表并尝试语法?