我已经使用lua脚本创建了Mysql-proxy。对于某些特定查询,我想用其他一些数据覆盖结果集。但是在将查询与字符串进行比较时,在控制台中打印具有相同值时显示为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查询的,我应该能够控制条件并相应地自定义结果集。如果我能得到您的帮助,那将非常有帮助。预先感谢。