我使用 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 查询我应该能够控制条件并相应地自定义结果集。如果我能得到你的帮助,那将非常有帮助。提前致谢。