Ir para conteúdo
  • 0

Helflin

Pergunta

Fala galera,



Tenho esse código em um arquivo.lua:



doPlayerSendTextMessage(cid,22,"Voce entrou na sala de treinamento.")
db.query("UPDATE `players` SET `is_training` = 1 WHERE name = '".. getCreatureName(cid).."'")

Porém tem um problema, quando o CreatureName tem ' no meio, tipo Knight'Fulano, ele da erro de sql.

Pensei em algo(função) tipo o ADDSLASHES() do PHP, que insere \(barra invertida) antes do ' para realizar inserção no bd, mas não sei se existe isso pra configurações .lua, pois não sei mexer em .lua ...


Alguma solução?


Vlw Galera..

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

@@Helflin,

Tenta assim:

doPlayerSendTextMessage(cid,22,"Voce entrou na sala de treinamento.")
db.query("UPDATE `players` SET `is_training` =  1 WHERE name = '" .. string.gsub(getCreatureName(cid), "'", "\'") .. "';")
Link para o comentário
Compartilhar em outros sites

  • 0

O erro continua quanto ao '

 

2epr2oj.png

 

O negócio é:

 

O cara entra em um teleport que tem certo uniqueID, ai eu vou e altero um campo na tabela players ...

Porém eu to checando WHERE nome = x ... Não teria como eu usar uma função que pega o ID do player ao invés de pegar o nome? Com isso eu não teria esse erro de quebra de string.

Link para o comentário
Compartilhar em outros sites

  • 0

O erro continua quanto ao '

 

2epr2oj.png

 

O negócio é:

 

O cara entra em um teleport que tem certo uniqueID, ai eu vou e altero um campo na tabela players ...

Porém eu to checando WHERE nome = x ... Não teria como eu usar uma função que pega o ID do player ao invés de pegar o nome? Com isso eu não teria esse erro de quebra de string.

 

 

Tem sim,

Basta usar a condição

WHERE id = getPlayerGUID(cid)

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...