美文网首页
apache2 mod_lua 模块连接 sqlite 数据库

apache2 mod_lua 模块连接 sqlite 数据库

作者: 1UP2020 | 来源:发表于2020-02-23 12:17 被阅读0次

1、连接 sqlite 数据库

require "string"

function handle(r)
local database, err = r:dbacquire("sqlite3", "db.sqlite")
-- db.sqlite 是数据库文件的绝对路径。
    if not err then   
        local results, err = database:select(r, "SELECT id,name,password FROM 'users'")
            if not err then
                local rows = results(0)
                for k, row in pairs(rows) do
                    r:puts( string.format("ID: %s Name: %s Number: %s<br/>", row[1],row[2],row[3]) )
                end
            else
                r:puts("错误: " .. err)
            end
            database:close()
            --关闭数据库
    else
        r:puts("不能连接数据库: " .. err)
    end
return apache2.OK
end

这里的 r:dbacquire 接收两个参数,一个是数据库类型,这里是 sqlite,另一个是数据库文件的路径。如果数据库是 mysql ,要像下面那样写代码:

local database, err = r:dbacquire("mysql", "server=localhost,user=someuser,pass=somepass,dbname=mydb")

database:select 用来执行 SELECT。

2、删除记录

local statement, errmsg = database:query(r, "DELETE FROM users WHERE id=1" )
if not errmsg then
  r:puts("<p>用户删除成功!</p>")
  else
  r:puts(errmsg)
end

database:query 用来执行 DELETE。

相关文章

网友评论

      本文标题:apache2 mod_lua 模块连接 sqlite 数据库

      本文链接:https://www.haomeiwen.com/subject/pdxjqhtx.html