Szerző Téma: dbPoll hiba  (Megtekintve 1468 alkalommal)

dbPoll hiba
« Dátum: 2016. november 06. - 18:07:08 »
0 Show voters
Üdv!
dbPoll segítségével adatokat dolgozok fel adatbázisból, de nem adja vissza a teljes szöveget amit be kellene töltenie.
Az alábbi kódban a teleports[i ][key2] = value2 résznél a value2 értéke az oszlopban tárolt szövegből az első vagy 4. karakterig tölti be, pedig a mysql adatbázisban nem csak annyi van ott.
Valaki helyreigazítana? :D
--dbQuery(processTeleportComment,database, \"SELECT comment FROM teleports\")function processTeleportComment(qh)local result, num_affected_rows, last_insert_id = dbPoll ( qh, 0 )local i = 0if result then   for key,value in pairs(result) do      for key2,value2 in pairs(value) do         teleports[key2] = value2      end      i = i+1   endendend   
« Utoljára szerkesztve: 2016. november 06. - 18:09:09 írta 1ST_Chr »

dbPoll hiba
« Válasz #1 Dátum: 2016. november 07. - 00:10:49 »
0 Show voters
Nem pontosan értem, hogy ez mire szolgálna de talán ez megfelel a célodra:
 

function processTeleportComment(qh)
local result, num_affected_rows, last_insert_id = dbPoll ( qh, 0 )
if result then
for key,value in pairs(result) do
   teleports[key] = value[\"comment\"]
end
end
end   

 
A dbPoll mindig egy 2 dimenziós táblát ad vissza aminek az első dimenziója a sorok a 2. dimenzióban vannak az oszlopaid
 

result = {
{comment = \"hello1\"},
{comment = \"hello2\"},
{comment = \"hello3\"}
}

 
Így néz ki. Ha több oszlopot is rekérsz akkor mennek be mellé pl.: {id=1, comment = \"hello1\"}

dbPoll hiba
« Válasz #2 Dátum: 2016. november 07. - 00:30:45 »
0 Show voters
nem jó, mert a sima value változó is táblával tér vissza
 

result = {
        {row 1 -> value={comment -> szöveg}},
        {row 2 -> value={comment -> szöveg}},
        {row 3 -> value={comment -> szöveg}}
}
for key,value in pairs(result) do -- ciklus a sorokon
for key2,value2 in pairs(value) do -- ciklus az adott sor oszlopain

 
Csak az a baj h a szöveget nem kapom vissza teljesen :(

dbPoll hiba
« Válasz #3 Dátum: 2016. november 07. - 20:18:03 »
0 Show voters
Igen a value egy tábla ezért veszem ki a comment értékét, így value[\"comment\"]

dbPoll hiba
« Válasz #4 Dátum: 2016. november 07. - 20:50:54 »
0 Show voters
Idézetet írta: dugasz1 date=1478546283\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"63522\" data-ipsquote-contentclass=\"forums_Topic
Igen a value egy tábla ezért veszem ki a comment értékét, így value[\"comment\"]
 
Rendben, működik így is igazad volt. Viszont ugyan úgy csak 1 vagy 4 karakterig tölti be a szöveget  :\'(

dbPoll hiba
« Válasz #5 Dátum: 2016. november 08. - 16:37:01 »
0 Show voters
Furcsa. Milyen típusúra állítottad azt a comment mezőt a mysqlben?

dbPoll hiba
« Válasz #6 Dátum: 2016. november 08. - 17:42:16 »
0 Show voters
Idézetet írta: dugasz1 date=1478619421\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"63522\" data-ipsquote-contentclass=\"forums_Topic
Furcsa. Milyen típusúra állítottad azt a comment mezőt a mysqlben?
 
varchar(20)

dbPoll hiba
« Válasz #7 Dátum: 2016. november 08. - 18:17:14 »
0 Show voters
SQL-ből küldtél bele adatot, vagy szerverről nyomtál be szöveget? Mert MTA-nál hajlamos (máshol is amúgy) beakadni és nem kiírni mindent, ha te phpmyadminban írsz bele szöveget és nem pedig szerverről küldi el az sql-be. :)

dbPoll hiba
« Válasz #8 Dátum: 2016. november 08. - 18:35:09 »
0 Show voters
Idézetet írta: AlexSwamp date=1478625434\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"63522\" data-ipsquote-contentclass=\"forums_Topic
SQL-ből küldtél bele adatot, vagy szerverről nyomtál be szöveget? Mert MTA-nál hajlamos (máshol is amúgy) beakadni és nem kiírni mindent, ha te phpmyadminban írsz bele szöveget és nem pedig szerverről küldi el az sql-be. :)
 
Egy mentést töltöttem be egy régebbi tábláról, tehát kézzel vittem be phpmyadminba. SA:MP-nál sose volt ilyen problémám. :/

dbPoll hiba
« Válasz #9 Dátum: 2016. november 08. - 20:48:46 »
+1 Show voters
Véletlen nem mindig az ékezetes karakter elöttig van meg a string?
Próbáld meg a kapcsolat 2.argumentjébe beleírni, hogy charset=utf8
pl.: \"dbname=frank;host=1.2.3.4\";charset=utf8
Vagy kapcsolódás után adni egy ilyen parancsot az adatbázisnak:
 
dbExec( connection, \"SET NAMES utf8\")
« Utoljára szerkesztve: 2016. november 08. - 20:52:44 írta dugasz1 »

dbPoll hiba
« Válasz #10 Dátum: 2016. november 08. - 21:10:30 »
0 Show voters
Idézetet írta: dugasz1 date=1478634526\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"63522\" data-ipsquote-contentclass=\"forums_Topic
Véletlen nem mindig az ékezetes karakter elöttig van meg a string?
Próbáld meg a kapcsolat 2.argumentjébe beleírni, hogy charset=utf8
pl.: \"dbname=frank;host=1.2.3.4\";charset=utf8
Vagy kapcsolódás után adni egy ilyen parancsot az adatbázisnak:
 
dbExec( connection, \"SET NAMES utf8\")

 

Köszönöm, megoldotta a problémám :) big up

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal