Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何检查MySQL查询语法?_Php_Mysql_Syntax - Fatal编程技术网

Php 如何检查MySQL查询语法?

Php 如何检查MySQL查询语法?,php,mysql,syntax,Php,Mysql,Syntax,我正在开发自己的数据库管理系统,用PHP开发,我为自己的查询选择了与MySQL查询相同的语法 我想知道是否有一种工具可以检查MySQL查询是否有效,而不必连接到真正的MySQL数据库 有人有办法做到这一点吗?我曾经考虑过使用一些正则表达式,但我不确定这是最简单(也是最快)的方法。有一些好的PHP SQL解析器可以将查询分解为结构化数组 您可以通过解析器运行代码,查看它是否中断,以确定其语法是否有效 及 有一些好的PHP SQL解析器可以将查询分解为结构化数组 您可以通过解析器运行代码,查看它

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

我想知道是否有一种工具可以检查MySQL查询是否有效,而不必连接到真正的MySQL数据库


有人有办法做到这一点吗?我曾经考虑过使用一些正则表达式,但我不确定这是最简单(也是最快)的方法。

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

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


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

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


是我过去使用过的2。

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

这样的工具无法确保表或列的存在。该工具需要数据库架构来检查错误。我使用heidisql,如果我有更多的钱,ı会购买在mysql服务器上拥有多个数据库的权利,我会执行“创建数据库”或复制数据库代码,并在没有任何值的第二个数据库上进行测试,或者更好,我将尝试找到一个库——快速查看显示MySQL SQL解析代码大约是C和C++的16000行,这是很多工作要做的,事实上,我不需要为所有查询重新解析,但只针对最常用的选择,插入,删除或删除。像phpMyAdmin?它不是一个真正的dbm应用程序,只是一个小工具,花一些时间在一些事情上。它只是一个PHP程序,可以稍微模拟真实数据库的功能。您是如何构建查询的?如果您是通过将字段和数据传递到函数中来创建查询,那么查询的验证在很大程度上依赖于构建查询的函数的完整性。正确使用该函数,您应该很少遇到问题。无论如何,尝试在实际数据库上执行查询将为您提供特定的语法消息,MySQL SQL解析代码大约是C和C++的16000行,这是很多工作要做的,事实上,我不需要为所有查询重新解析,而只需要最常用的选择,如删除或删除。您正在构建数据库管理应用程序吗?像phpMyAdmin?它不是一个真正的dbm应用程序,只是一个小工具,花一些时间在一些事情上。它只是一个PHP程序,可以稍微模拟真实数据库的功能。您是如何构建查询的?如果您是通过将字段和数据传递到函数中来创建查询,那么查询的验证在很大程度上依赖于构建查询的函数的完整性。正确使用该函数,您应该很少遇到问题。无论如何,尝试在实际数据库上执行查询将为您提供特定的语法消息,这对于调试至关重要。您应该给出更多解释和更多格式。这是你第一次来这里,所以你应该注意如何回答这是迄今为止最好的答案。不幸的是,单引号必须转义,这意味着编辑目标脚本并可能引入错误-但这比使用非mysql引擎(regex、php)解析脚本要好。您应该给出更多解释和更多格式。这是你第一次来这里,所以你应该注意如何回答这是迄今为止最好的答案。不幸的是,单引号必须转义,这意味着编辑目标脚本并可能引入错误——但这比使用非mysql引擎(regex、php)解析脚本要好。
set @s := 'your sql script';
prepare stm1 from @s;