现在出现问题:如果我使用以下代码,则会得到一行(如我想要的),但无法访问列/值:
function handle(r)
local database, err = r:dbacquire()
-- All fine, an active connection will be returned
r:puts("DB active: " .. tostring(database:active()))
if not err then
local statement, errmsg = database:prepare(r, "SELECT name FROM mytable WHERE id = %s")
if not errmsg then
-- I see the SELECT statement also in the DB logs
local results, errmsg = statement:select("myid")
for index, row in pairs(results(0)) do
-- receive row, but without columns :((
r:puts( string.format(" Entry (%s): %s ", index, dump(row)) )
end
end
end
end
使用的datatabse是PostgreSQL 9.6,在apache.conf中具有以下配置:
DBDriver pgsql
DBDParams "postgresql://user:password@host:port/dbname"
输出类似于以下内容:
DB active: true Entry (1): { }
如果我更改为静态SELECT,它将返回2个条目:
DB active: true Entry (1): { } Entry (2): { }
我还尝试了URL中的“ postgres”,并将准备好的语句更改为静态语句。但是我收到的唯一结果是一堆行(或只有一行),但没有列/值。如果有人有一个主意,那会很好,因为我目前还没有,这可能是我的LUA脚本的错。
最诚挚的问候
丹尼尔