Cum să vă conectați și să interogați MySQL din Lua? (Programare, Mysql, Lua)

TeddyH a intrebat.

Cum mă pot conecta la o bază de date MySQL din limbajul de programare Lua?

Dacă există o bibliotecă bună/populară, care este aceasta?

Comentarii

3 răspunsuri
Stanislav Ivanov

Exemplu minim de woking pentru LuaSQL – interfață simplă de la Lua la un SGBD.

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

Linia 1 utilizată dacă modulul luasql.mysql nu este găsit. De asemenea, poate fi utilizată variabila de mediu LUA_CPATH.

Comentarii

  • Ce se întâmplă dacă baza de date are o parolă? –  > Por 71GA.
  • @71GA La linia 6. Al treilea argument al env:connect. –  > Por Stanislav Ivanov.
Judecător Maygarden

De la LuaSQL — Conectivitatea bazei de date pentru limbajul de programare Lua:

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

Pointer NULL

În cazul în care baza de date mysql este la distanță, puteți adăuga host ca un alt parametru opțional pentru a vă conecta. Portul poate urma și el gazda:

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

Comentarii

  • Ce se întâmplă cu bazele de date protejate prin parolă? –  > Por 71GA.
  • @71GA acolo unde scrie „password” – înlocuiți-o cu parola dvs. –  > Por Ken.

Tags:,