Php 如何检查函数/关键字是否为有效的mysql函数/关键字?

Php 如何检查函数/关键字是否为有效的mysql函数/关键字?,php,mysql,Php,Mysql,PHP中有效的mysql函数/关键字是否有其他检查方法?保留字列表在不同的mysql版本之间会发生变化,内置函数名是否也可以用作原始模式名取决于sql_模式(特别是IGNORE_SPACE,在ANSI模式下设置) 因此,如果您试图做的是测试一个潜在的模式名的有效性,否:您无法判断模式名是否清晰,除非实际连接到数据库并尝试使用相关关键字执行一些SQL。最好引用架构名称以避免问题。(很遗憾,MySQL的模式名引号是反引号,而不是ANSI标准的双引号。同样,这是ANSI sql_模式可以解决的问题。)

PHP中有效的mysql函数/关键字是否有其他检查方法?

保留字列表在不同的mysql版本之间会发生变化,内置函数名是否也可以用作原始模式名取决于sql_模式(特别是
IGNORE_SPACE
,在
ANSI
模式下设置)


因此,如果您试图做的是测试一个潜在的模式名的有效性,否:您无法判断模式名是否清晰,除非实际连接到数据库并尝试使用相关关键字执行一些SQL。最好引用架构名称以避免问题。(很遗憾,MySQL的模式名引号是反引号,而不是ANSI标准的双引号。同样,这是ANSI sql_模式可以解决的问题。)

MySQL中的内置函数列表无法通过编程方式获得。看


关键字也是一样,但是mysql手册中有一个很好的例子,介绍了每个关键字的版本。

谢谢@boblince。我们可以检查函数是否可调用(关于sql_模式)。您想区分哪两种情况?功能关键字和非功能关键字?我想您可以通过测试来检测函数,看看该名称是否在正常sql_模式下被接受为架构名称,然后切换到
IGNORE_SPACE
模式并再次测试。如果结果不同,则必须是一个函数。不过,我觉得这对你没什么用处。