TeddyH
TeddyH

Reputation: 199

How to connect & query MySQL from within Lua?

How can I connect to a MySQL database from using Lua programming language?

If a good/popular library exists, what is it?

Upvotes: 15

Views: 32216

Answers (3)

Judge Maygarden
Judge Maygarden

Reputation: 27563

From LuaSQL -- Database connectivity for the Lua programming language:

require "luasql.mysql"
env = assert (luasql.mysql())
con = assert (env:connect"my_db")
for id, name, address in rows (con, "select * from contacts") do
  print (string.format ("%s: %s", name, address))
end

Upvotes: 4

Stanislav Ivanov
Stanislav Ivanov

Reputation: 1974

Minimal woking example for LuaSQL - simple interface from Lua to a DBMS.

package.cpath = package.cpath .. ";/usr/lib/i386-linux-gnu/lua/5.1/?.so"

luasql = require "luasql.mysql"

env = assert (luasql.mysql())
con = assert (env:connect("dbname","user","password"))
cur = assert (con:execute("SHOW TABLES"))

row = cur:fetch ({}, "a")
while row do
  print(string.format("Name: %s", row.Tables_in_dbname))
  row = cur:fetch (row, "a")
end

Line 1 used if module luasql.mysql not found. Also environment variable LUA_CPATH may be used.

Upvotes: 8

NULL pointer
NULL pointer

Reputation: 1377

In case your mysql database is remote, you can add host as another optional parameter to connect. Port can follow host as well:

con = assert (env:connect("dbname","user","password","host",port))

Upvotes: 5

Related Questions