local mysql = require "resty.mysql"
local connect_table = {
host = '127.0.0.1', port = 3306,
user = 'root', password = '',
database = 'test',
}
local function query(sql_statements)
local db = ngx.ctx._db
local res, err, errno, sqlstate;
-- 如果第一次建立连接或上一个链接出错, 则新建
if not db or db._query_err~=nil then
db, err = mysql:new()
if not db then
return db, err
end
db:set_timeout(10000)
res, err, errno, sqlstate = db:connect(connect_table)
if not res then
return res, err
end
-- 将db绑定到ctx中, 方便共用
ngx.ctx._db = db
else
--这里表示连接复用(上一次连接是正常的)
end
-- 开始使用连接进行查询
res, err, errno, sqlstate = db:query(sql_statements)
-- 将err值绑定到db上
db._query_err = err
return res, err, errno, sqlstate
end