Как сравнить запрос со строкой в ​​сценарии lua? - PullRequest
0 голосов
/ 03 октября 2018

Я создал Mysql-прокси с использованием скриптов lua.Для какого-то конкретного запроса я хочу переопределить набор результатов с некоторыми другими данными.Но, сравнивая запрос со строкой, он показывает false, в то время как print в консоли имеет то же значение.Пожалуйста, проверьте следующий код:

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, я должен быть в состоянии контролировать условие и соответственно настраивать набор результатов.Было бы очень полезно, если бы я получил вашу помощь.Заранее спасибо.

...