0

我使用 lua 脚本创建了一个 Mysql 代理。对于某些特定查询,我想用其他一些数据覆盖结果集。但是在将查询与字符串进行比较时,它显示为 false 而控制台中的打印具有相同的值。请检查以下代码:

function read_query_result (inj)
   print_access('inside read_query_result \t' .. inj.query)
   print(string.lower(inj.query))    //printing "show databases" in console
   local query = string.lower(inj.query)
   print(query == "show databases")  //printing false

  if query == "show databases" then 
   proxy.response.type = proxy.MYSQLD_PACKET_OK
   proxy.response.resultset = {
     fields = {
                { type = proxy.MYSQL_TYPE_LONG, name = "votee", },
                { type = proxy.MYSQL_TYPE_LONG, name = "count", },
                { type = proxy.MYSQL_TYPE_STRING, name = "testvar", },
              },
     rows = {
                { 1, 3, "BLR" }
            }
    }
    print("--------- end looping")
    return proxy.PROXY_SEND_RESULT
  end

end

甚至,我在 mysql 中运行“显示数据库”查询,它没有进入 if 条件。

我在这里想要的是基于 mysql 查询我应该能够控制条件并相应地自定义结果集。如果我能得到你的帮助,那将非常有帮助。提前致谢。

4

0 回答 0