i am  testing  a script      new_chat.lua    script is below

#!/usr/bin/lua
local dbh = freeswitch.Dbh("odbc://dbname:db_username:db_passwd") -- connect to ODBC database
assert(dbh:connected()) -- exits the script if we didn't connect properly

if dbh:connected() == false then
   freeswitch.consoleLog("ALERT", "lua cannot connect to database" .. dsn .. "\n");
end

sql_query    = "SELECT * FROM cc_card WHERE id ='197'"
dbh:query(sql_query ,function(row)
for key, val in pairs(row) do  
key = val
end
 freeswitch.consoleLog("INFO"," inside  QUERY lastname = " .. row.lastname .. "\n");
freeswitch.consoleLog("INFO"," inside  QUERY  redial = " .. row.redial .. "\n");
end)

freeswitch.consoleLog("INFO"," outside  QUERY  lastname = " .. row.lastname .. "\n");
freeswitch.consoleLog("INFO","  outside  QUERY    redial = " .. row.redial .. "\n");

freeswitch.consoleLog("INFO"," outside  QUERY  lastname = " .. lastname .. "\n");
freeswitch.consoleLog("INFO","  outside  QUERY    redial = " .. redial .. "\n");

dbh:release() -- optional

but here is some problum    in this script  inside query lines are  working  but outside query lines  are not working  WHY  ??  
any suggestions are very wellcome