1 function mysql_select(host,sql)
2 local mysql=require "resty.mysql"
3 local db,err = mysql:new()
4 if not db then
5 ngx.say("failed")
6 return
7 end
8 db:set_timeout(10000)
9 local ok, err, errno, sqlstate = db:connect{
10 host = host,
11 port = 3306,
12 database = "nginx",
13 user = "root",
14 password = "passwd",
15 max_packet_size = 1024 * 1024 }
16 if not ok then
17 ngx.say("failed to connect mysql")
18 return
19 end
20 local res, err, errno, sqlstate = db:query(sql)
21 if not res then
22 ngx.say("bad result: ", err, ": ", errno, ": ", sqlstate, ".")
23 return
24 end
25 local ok, err = db:set_keepalive()
26 if not ok then
27 ngx.say("failed to set keepalive: " ,err)
28 return
29 end
30 return res
31 end
32
33 local res=mysql_select("127.0.0.1","select count(*) as count from uploadfile")
34
35 ngx.say(res[1].count)
我这样写,没有错误,正常输出
#nginx/sbin/nginx -V
nginx version: ngx_openresty/
1.2.4.7built by gcc 4.2.1 20070719 [FreeBSD]
TLS SNI support enabled
configure arguments: --prefix=/usr/local/openresty/nginx --add-module=../ngx_devel_kit-0.2.17 --add-module=../echo-nginx-module-0.41 --add-module=../xss-nginx-module-0.03rc9 --add-module=../ngx_coolkit-0.2rc1 --add-module=../set-misc-nginx-module-0.22rc8 --add-module=../form-input-nginx-module-0.07rc5 --add-module=../encrypted-session-nginx-module-0.02 --add-module=../drizzle-nginx-module-0.1.4 --add-module=../srcache-nginx-module-0.16 --add-module=../ngx_lua-0.7.4 --add-module=../headers-more-nginx-module-0.18 --add-module=../array-var-nginx-module-0.03rc1 --add-module=../memc-nginx-module-0.13rc3 --add-module=../redis2-nginx-module-0.09 --add-module=../redis-nginx-module-0.3.6 --add-module=../auth-request-nginx-module-0.2 --add-module=../rds-json-nginx-module-0.12rc10 --add-module=../rds-csv-nginx-module-0.05rc2 --with-ld-opt=-Wl,-rpath,/usr/local/libdrizzle/lib:/usr/local/openresty/luajit/lib --with-http_ssl_module