1
我有一個MYSQL服務器和MYSQL-PROXY,我試圖操縱我發送給客戶端的結果,作爲對SELECT查詢的響應。我已在lua中編寫了此代碼:mysql代理結果字段操作
function string.starts(String,Start)
return string.sub(String,1,string.len(Start))==Start
end
function read_query_result(inj)
local fn = 1
local fields = inj.resultset.fields
while fields[fn] do
fn = fn + 1
end
fn = fn - 1
print("FIELD NUMBER: " .. fn)
for row in inj.resultset.rows do
print ("--------------")
for i = 1, fn do
if (string.starts(fields[i].name,"TEST")) then
row[i]="TESTED"
end
print ("DATA: " .. fields[i].name .. " -> " .. row[i])
end
end
return proxy.PROXY_SEND_RESULT
end
我可以正確讀取字段名稱和值。我可以檢測到需要修改結果的情況,但無法將數據發送到客戶端。
我看到兩個問題:
- 我設置在本地行變量的值,但我還沒有找到設置的實際結果集(inj.Resultset.row [I]或類似的方式)。
return proxy.PROXY_SEND_RESULT
有什麼問題,因爲我看到每當我評論該句子時,我都會看到結果,並且如果我取消註釋,則會收到錯誤消息。
我還沒有找到示例代碼作爲參考。