Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.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
VBA MYSQL查询:当变量为列名时_Mysql_Vba - Fatal编程技术网

VBA MYSQL查询:当变量为列名时

VBA MYSQL查询:当变量为列名时,mysql,vba,Mysql,Vba,在VBA中使用SQL Server时,我可以通过以下语法将列名作为变量插入,但在连接到Mysql数据库时出错 column_name = "kills" Set rs = CreateObject("ADODB.Recordset") SQLStr = "SELECT * FROM player_stats_aggregated order by [" & column_name & "] desc " rs.Open SQLStr, conn, adOpenStatic 什

在VBA中使用SQL Server时,我可以通过以下语法将列名作为变量插入,但在连接到Mysql数据库时出错

column_name = "kills"
Set rs = CreateObject("ADODB.Recordset") 
SQLStr = "SELECT * FROM player_stats_aggregated order by [" & column_name & "] desc "
rs.Open SQLStr, conn, adOpenStatic

什么是正确的语法,以便我可以按列“kills”降序排列

你现在用什么?您在同一个问题中谈论SQL Server和MySQL?而且MySQL不支持括号,我现在正在使用MySQL。另外,当我刚刚删除括号时,这也起到了作用。在SQL Server上,您应该使用
QUOTENAME
生成括号,即
按QUOTENAME(“&column\u name&”)排序。DESC
-不确定MySQL是否有类似的内容,但MySQL中的引号字符将是一个反勾
`
。如果您没有引用列名,并且
column\u name
值来自用户输入(直接或不直接),那么您对SQL注入非常开放。您现在使用的是什么?您在同一个问题中谈论SQL Server和MySQL?而且MySQL不支持括号,我现在正在使用MySQL。另外,当我刚刚删除括号时,这也起到了作用。在SQL Server上,您应该使用
QUOTENAME
生成括号,即
按QUOTENAME(“&column\u name&”)排序。DESC
-不确定MySQL是否有类似的内容,但MySQL中的引号字符将是一个反勾
`
。如果您没有引用列名,并且
column\u name
值来自用户输入(直接或不直接),那么您就可以使用SQL注入。