VBA MYSQL查询:当变量为列名时
在VBA中使用SQL Server时,我可以通过以下语法将列名作为变量插入,但在连接到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 什
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注入。