Ir para conteúdo
  • 0

Verificar database


Victor8

Pergunta

Olá amigos do xtibia.

 

Odeio pedir coisas, eu sempre dou um jeito e faço eu mesmo. Mas database, não sei mesmo.

 

 

 

Seguinte, meu ot as vezes, perde a conexão com a data base (mysql).

 

Devido a querys muito grandes.

 

 

Solução:

 

Um script que tente pegar algum dado da data base e verificalo.

 

Se ele conseguir verificalo ok.

 

Se ele não conseguir.. fecha o ot.

 

 

Eu bolei uma mais ou menos aki. Mas não deu muito certo, olhem:

 

 

 

 

egua = 1

local Info = db.getResult("SELECT `id` FROM `players` WHERE `id` = " .. egua .. ";")

if info == 1 then

 

 

else

doShutdown()

end

 

 

return

end

Editado por Victor8
Link para o comentário
Compartilhar em outros sites

Posts Recomendados

  • 0

cu8mo.jpg

 

 

 

 

so pra constar:

 

 

os scripts estao assim:

 

 

 

function onThink(interval, lastExecution)

 

if getInfoFromDatabase("players", "id", "name", "Sorcerer Sample") == 3 then

doBroadcastMessage("ok")

else

doBroadcastMessage("fechar")

end

return true

end

 

 

 

 

function getInfoFromDatabase(table, column, condition, id)

local a = db.getResult("SELECT `"..column.."` FROM `"..table.."` WHERE `"..condition.."` = "..id..";")

if a:getID() == -1 then return false end

local b = a:getDataString(""..column.."")

return b, a:free()

end

Editado por Victor8
Link para o comentário
Compartilhar em outros sites

  • 0

Agaaaain:

 

function getInfoFromDatabase(table, column, condition, id)
local a = db.getResult("SELECT `"..column.."` FROM `"..table.."` WHERE `"..condition.."` = '"..id.."';")
if a:getID() == -1 then return false end
local b = a:getDataString(""..column.."")
return b, a:free()
end

Link para o comentário
Compartilhar em outros sites

  • 0

FUNCIONOU OMMMMMMMMMMMMGGGGG "!

 

Perfeitamente funcionou.

 

 

Mas agora tipo assim:

 

 

Ele vai verificar na data base e tals, ai vai satisfazer a condição.

 

Mas oque acontece é o seguinte.

 

Quando eu fecho o my sql. Ele da o erro, e não funciona o else entendeu?

 

 

 

function onThink(interval, lastExecution)

 

if getInfoFromDatabase("players", "id", "name", "Sorcerer Sample") == 3 then

doBroadcastMessage("ok")

else

doShutdown()

end

return true

end

Editado por Victor8
Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...