Latest web development tutorials

Acceso a la base de datos de Lua

En este trabajo se describe el funcionamiento de la base de datos de la biblioteca Lua: LuaSQL . Él es de código abierto, no hay soporte para la base de datos: ODBC, ADO, Oracle, MySQL, SQLite y PostgreSQL.

Este artículo es introducir la conexión de MySQL base de datos.

LuaSQL puede utilizar LuaRocks para ser instalados es necesario instalar controladores de base, según sea necesario.

LuaRocks métodos de instalación:

$ wget http://luarocks.org/releases/luarocks-2.2.1.tar.gz
$ tar zxpf luarocks-2.2.1.tar.gz
$ cd luarocks-2.2.1
$ ./configure; sudo make bootstrap
$ sudo luarocks install luasocket
$ lua
Lua 5.3.0 Copyright (C) 1994-2015 Lua.org, PUC-Rio
> require "socket"

LuaRocks instalación bajo la ventana: https://github.com/keplerproject/luarocks/wiki/Installation-instructions-for-Windows

Instalar un diferentes controladores de base de datos:

luarocks install luasql-sqlite3
luarocks install luasql-postgres
luarocks install luasql-mysql
luarocks install luasql-sqlite
luarocks install luasql-odbc

También puede utilizar la instalación de código fuente, Lua Github Dirección de origen: https://github.com/keplerproject/luasql

Lua conectar base de datos MySQL:

require "luasql.mysql"

--创建环境对象
env = luasql.mysql()

--连接数据库
conn = env:connect("数据库名","用户名","密码","IP地址",端口)

--设置数据库的编码格式
conn:execute"SET NAMES UTF8"

--执行数据库操作
cur = conn:execute("select * from role")

row = cur:fetch({},"a")

--文件对象的创建
file = io.open("role.txt","w+");

while row do
    var = string.format("%d %s\n", row.id, row.name)

    print(var)

    file:write(var)

    row = cur:fetch(row,"a")
end


file:close()  --关闭文件对象
conn:close()  --关闭数据库连接
env:close()   --关闭数据库环境