Search code examples
databaseluaprepared-statementluasql

How to use prepared statements in lua-dbi?


I want to use prepared statements in my lua scripts. As mentioned in my previous post, people recommend using lua-dbi. Unfortunately there is little documentation available. I just need a basic script that connects to the database with credentials, and use prepared statements (prefered with a bind function to names in the query). Anyone experienced with this?


Solution

  • You can find it on the project's wiki pages:

    Establishing connection: https://code.google.com/p/luadbi/wiki/DBDDriverConnection

    require('DBI')
    
    -- Create a connection
    local dbh = assert(DBI.Connect('Driver', db, username, password, host, port))
    
    -- set the autocommit flag
    -- this is turned off by default
    dbh:autocommit(true)
    
    -- check status of the connection
    local alive = dbh:ping()
    
    -- prepare a connection
    local sth = assert(dbh:prepare(sql_string))
    
    -- commit the transaction
    dbh:commit()
    
    -- finish up
    local ok = dbh:close()
    

    where, you'd update the part dbh:prepare as per your needs.