Hitsugaya
New Member
Witam. Jakim zapytaniem pobrać dane z mysql ? Tak żeby po wpisaniu tego zapytania podało mi konkretną wartość (liczbę) ?
Pozdrawiam
Pozdrawiam
local skill = db.getResult("SELECT `skillsadd` FROM `players` WHERE `name` = `"..getCreatureName(cid).."` LIMIT 1")
[26/04/2011 15:15:12] mysql_real_query(): SELECT `skillsadd` FROM `players` WHERE `name` = `Sniper` LIMIT 1 - MYSQL ERROR: Unknown column 'Sniper' in 'where clause' (1054)
[26/04/2011 15:15:12] [Error - TalkAction Interface]
[26/04/2011 15:15:12] data/talkactions/scripts/skillcheck.lua:onSay
[26/04/2011 15:15:12] Description:
[26/04/2011 15:15:12] data/talkactions/scripts/skillcheck.lua:4: attempt to concatenate local 'skill' (a table value)
[26/04/2011 15:15:12] stack traceback:
[26/04/2011 15:15:12] data/talkactions/scripts/skillcheck.lua:4: in function <data/talkactions/scripts/skillcheck.lua:1>
[26/04/2011 15:21:47] [Error - TalkAction Interface]
[26/04/2011 15:21:47] data/talkactions/scripts/skillcheck.lua:onSay
[26/04/2011 15:21:47] Description:
[26/04/2011 15:21:47] data/talkactions/scripts/skillcheck.lua:4: attempt to concatenate local 'skill' (a table value)
[26/04/2011 15:21:47] stack traceback:
[26/04/2011 15:21:47] data/talkactions/scripts/skillcheck.lua:4: in function <data/talkactions/scripts/skillcheck.lua:1>
[26/04/2011 15:45:40] [Error - TalkAction Interface]
[26/04/2011 15:45:40] data/talkactions/scripts/skillcheck.lua:onSay
[26/04/2011 15:45:40] Description:
[26/04/2011 15:45:40] data/talkactions/scripts/skillcheck.lua:4: attempt to concatenate local 'skill' (a nil value)
[26/04/2011 15:45:40] stack traceback:
[26/04/2011 15:45:40] data/talkactions/scripts/skillcheck.lua:4: in function <data/talkactions/scripts/skillcheck.lua:1>
Od 1, ale dlaczego on podaje 1 liczbę jako wartość z tablicy ? Zrobiłem jak podałeś i wyskoczyło tylko :Code:[26/04/2011 15:45:40] [Error - TalkAction Interface] [26/04/2011 15:45:40] data/talkactions/scripts/skillcheck.lua:onSay [26/04/2011 15:45:40] Description: [26/04/2011 15:45:40] data/talkactions/scripts/skillcheck.lua:4: attempt to concatenate local 'skill' (a nil value) [26/04/2011 15:45:40] stack traceback: [26/04/2011 15:45:40] data/talkactions/scripts/skillcheck.lua:4: in function <data/talkactions/scripts/skillcheck.lua:1>
Wartość w bazie wynosi 1 ;/
function onSay(cid, words, param, channel)
if (param == '') then
local skill = db.getResult("SELECT `addedskill` FROM `players` WHERE `name` = '"..getCreatureName(cid).."' LIMIT 1")
doCreatureSay(cid, "Posiadasz " ..#skill.. " punktow.", TALKTYPE_ORANGE_1)
end
return true
end
function onSay(cid, words, param, channel)
if (param == '') then
local result = db.getResult("SELECT `addedskill` FROM `players` WHERE `name` = '"..getCreatureName(cid).."' LIMIT 1")
local skill = result:getID();
doCreatureSay(cid, "Posiadasz " ..skill.. " punktow.", TALKTYPE_ORANGE_1)
end
return true
end
i wywala błąd :Code:local skill = db.getResult("SELECT `[B]skillsadd[/B]` FROM `players` WHERE `name` = `"..getCreatureName(cid).."` LIMIT 1")
Code:[26/04/2011 15:15:12] mysql_real_query(): SELECT `skillsadd` FROM `players` WHERE `name` = `Sniper` LIMIT 1 - MYSQL ERROR: Unknown column 'Sniper' in 'where clause' (1054) [26/04/2011 15:15:12] [Error - TalkAction Interface] [26/04/2011 15:15:12] data/talkactions/scripts/skillcheck.lua:onSay [26/04/2011 15:15:12] Description: [26/04/2011 15:15:12] data/talkactions/scripts/skillcheck.lua:4: attempt to concatenate local 'skill' (a table value) [26/04/2011 15:15:12] stack traceback: [26/04/2011 15:15:12] data/talkactions/scripts/skillcheck.lua:4: in function <data/talkactions/scripts/skillcheck.lua:1>
PS. Jest funkcja pobierająca ID gracza z mysql ?
zmieniles nazwe?Code:function onSay(cid, words, param, channel) if (param == '') then local skill = db.getResult("SELECT `[B]addedskill[/B]` FROM `players` WHERE `name` = '"..getCreatureName(cid).."' LIMIT 1") doCreatureSay(cid, "Posiadasz " ..#skill.. " punktow.", TALKTYPE_ORANGE_1) end return true end
Kiedy jest #skill pokazuję 0, a kiedy nie ma to tam masz błędy wyżej.
function onSay(cid, words, param, channel)
if (param == '') then
local result = db.getResult("SELECT `addedskill` FROM `players` WHERE `name` = '"..getCreatureName(cid).."' LIMIT 1")
local skill = result:getDataInt("addedskill");
doCreatureSay(cid, "Posiadasz " ..skill.. " punktow.", TALKTYPE_ORANGE_1)
end
return true
end