Szerző Téma: MYSQL gondok!  (Megtekintve 1587 alkalommal)

Nem elérhető Norby

  • 1575
    • Profil megtekintése
MYSQL gondok!
« Dátum: 2011. december 18. - 17:47:50 »
0 Show voters
Hellósztok...
Van egy mysql táblám amiben ezek szerepelnek : tulaj,kocsiid,kocsinev,kocsiszin,rendszam,X,Y,Z,Angle
És itt a nem mûködõ képes kód:
 
public VehicleSpawn(playerid)
{
new name[MAX_PLAYER_NAME];
new vehicleid,kocsicolor,Float:Xpos,Float:Ypos,Float:Zpos,Float:AnglePos;
    GetPlayerName(playerid,name,sizeof(name));
format(query,sizeof(query),\"SELECT kocsiid,kocsiszin,X,Y,Z,Angle FROM autok WHERE tulaj = \'%s\'\",name);
mysql_query(query);
mysql_store_result();
mysql_fetch_row(line);
sscanf(line,\"p<|>ddffff\",vehicleid,kocsicolor,Xpos,Ypos,Zpos,AnglePos);
CreateVehicle(vehicleid,Xpos,Ypos,Zpos,AnglePos,kocsicolor,kocsicolor,-1);
printf(\"Kocsi ID: %d\",vehicleid);
mysql_free_result();
return 1;
}

 
Nemtudom miért nem jó már mindent próbáltam de nem teszi le a kocsit a helyre meg néztem azt is hogy mit ir ki kocsiid nek és 2-õt ha pedig a tábla elején van a kocsiid akkor 1 szval a ki olvasással van a gond....
Így is próbáltam már:
 
public VehicleSpawn(playerid)
{
new name[MAX_PLAYER_NAME];
new vehicleid,kocsicolor,Float:Xpos,Float:Ypos,Float:Zpos,Float:AnglePos;
    GetPlayerName(playerid,name,sizeof(name));
format(query,sizeof(query),\"SELECT * FROM autok WHERE tulaj = \'%s\'\",name);
mysql_query(query);
mysql_store_result();
mysql_fetch_row(line);
sscanf(line,\"p<|>{s[20]}dd{s[35]s[35]}ffff\",vehicleid,kocsicolor,Xpos,Ypos,Zpos,AnglePos);
CreateVehicle(vehicleid,Xpos,Ypos,Zpos,AnglePos,kocsicolor,kocsicolor,-1);
printf(\"Kocsi ID: %d\",vehicleid);
mysql_free_result();
return 1;
}

 
De így sem jó!

MYSQL gondok!
« Válasz #1 Dátum: 2011. december 18. - 18:01:55 »
0 Show voters
Meg kell nézni milyen adattal tér vissza mysql kérés után.
[pawn]public VehicleSpawn(playerid)
{
new name[MAX_PLAYER_NAME];
    new vehicleid,kocsicolor,Float:Xpos,Float:Ypos,Float:Zpos,Float:AnglePos;
    GetPlayerName(playerid,name,sizeof(name));
format(query,sizeof(query),\"SELECT kocsiid,kocsiszin,X,Y,Z,Angle FROM autok WHERE tulaj = \'%s\'\",name);
mysql_query(query);
mysql_store_result();
mysql_fetch_row(line);
print(\"-> \");
print(line);
print(\"<- \");
sscanf(line,\"p<|>ddffff\",vehicleid,kocsicolor,Xpos,Ypos,Zpos,AnglePos);
CreateVehicle(vehicleid,Xpos,Ypos,Zpos,AnglePos,kocsicolor,kocsicolor,-1);
printf(\"Kocsi ID: %d\",vehicleid);
mysql_free_result();
return 1;
}[/pawn]

Nem elérhető Norby

  • 1575
    • Profil megtekintése
MYSQL gondok!
« Válasz #2 Dátum: 2011. december 18. - 19:14:08 »
0 Show voters
Megvan a hiba az hogy nem az autok táblát olvassa hanem szerintem a felhasznalok táblát mert ezt adja amit irt zoleszka:
\"asd.jpg\"
Csak akkor mit csináljak ??

MYSQL gondok!
« Válasz #3 Dátum: 2011. december 18. - 20:49:03 »
0 Show voters
Vagy azon a néven nincs mentve adat amelyiken felmentél.
Így is tegyél egy próbát:
 
public VehicleSpawn(playerid)
{
new name[MAX_PLAYER_NAME];
new vehicleid,kocsicolor,Float:Xpos,Float:Ypos,Float:Zpos,Float:AnglePos;
    GetPlayerName(playerid,name,sizeof(name));
format(query,sizeof(query),\"SELECT kocsiid,kocsiszin,X,Y,Z,Angle FROM autok WHERE tulaj = \'%s\' LIMIT 1\",name);
mysql_query(query);
mysql_store_result();
if(mysql_num_rows() > 0)
{
mysql_fetch_row(line);
mysql_free_result();
sscanf(line,\"p<|>ddffff\",vehicleid,kocsicolor,Xpos,Ypos,Zpos,AnglePos);
CreateVehicle(vehicleid,Xpos,Ypos,Zpos,AnglePos,kocsicolor,kocsicolor,-1);
printf(\"Kocsi ID: %d\",vehicleid);
} else {
printf(\"Ezen a néven nincs elmentve jármû: %s\", name);
mysql_free_result();
}
return 1;
}

 
Ui.:
Közben arra gondoltam hogy a játékos neved tartalmazhat olyan karaktert ami zavarhatja a mysql-t.
Építsd be a kódba a GetPlayerName alá:
[pawn]mysql_real_escape_string(name, name);[/pawn]
« Utoljára szerkesztve: 2011. december 18. - 20:53:43 írta ɐʞzssǝlosz »

Nem elérhető Norby

  • 1575
    • Profil megtekintése
MYSQL gondok!
« Válasz #4 Dátum: 2011. december 18. - 21:07:37 »
0 Show voters
Megpróbáltam mind a 2-õ variációt és még mindig semmi nem jó
Az elsõ amit írtál azon ugyan úgy lefut szóval nem írja ki hogy : Ezen a néven nincs elmentve jármû:
Beraktam ezt is : mysql_real_escape_string(name, name);
De semmi nem jó :S

MYSQL gondok!
« Válasz #5 Dátum: 2011. december 18. - 22:14:44 »
0 Show voters
Kellene ennek az adat táblának \"autok\" a szerkezeti felépítése, legalább egy adat sorral.
Edit:
Letudnám gyártani nem nagy dolog, csak az kellene amit te használsz.
« Utoljára szerkesztve: 2011. december 18. - 22:16:15 írta ɐʞzssǝlosz »

Nem elérhető Norby

  • 1575
    • Profil megtekintése
MYSQL gondok!
« Válasz #6 Dátum: 2011. december 18. - 22:50:41 »
0 Show voters
Inkább mutatok képet :
\"asd.jpg\"
\"asdasd.jpg\"

MYSQL gondok!
« Válasz #7 Dátum: 2011. december 18. - 23:34:30 »
0 Show voters
Létrehoztam az adat táblát és a kód mûködik.
Tábla:
 
--
-- Tábla szerkezet: `autok`
--
CREATE TABLE IF NOT EXISTS `autok` (
  `tulaj` varchar(20) COLLATE utf8_hungarian_ci NOT NULL,
  `kocsiid` int(3) NOT NULL,
  `kocsinev` varchar(20) COLLATE utf8_hungarian_ci NOT NULL,
  `kocsiszin` int(3) NOT NULL,
  `rendszam` varchar(20) COLLATE utf8_hungarian_ci NOT NULL,
  `X` float NOT NULL,
  `Y` float NOT NULL,
  `Z` float NOT NULL,
  `Angle` float NOT NULL,
  UNIQUE KEY `tulaj` (`tulaj`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
--
-- A tábla adatainak kiíratása `autok`
--
INSERT INTO `autok` (`tulaj`, `kocsiid`, `kocsinev`, `kocsiszin`, `rendszam`, `X`, `Y`, `Z`, `Angle`) VALUES
(\'Zsolesszka\', 550, \'Sunrise\', 2, \'asd\', 2148.75, 1397.25, 10.8125, 145.916);

 
Kód:
[pawn]CMD:spawnvehicle(playerid)
{
VehicleSpawn(playerid);
return 1;
}
forward VehicleSpawn(playerid);
public VehicleSpawn(playerid)
{
new
   name[MAX_PLAYER_NAME];
    new
   vehicleid,
   kocsicolor,
   Float:Xpos,
   Float:Ypos,
   Float:Zpos,
   Float:AnglePos;
    GetPlayerName(playerid,name,sizeof(name));
new
   query[256];
format(query, sizeof(query), \"SELECT kocsiid,kocsiszin,X,Y,Z,Angle FROM autok WHERE tulaj = \'%s\' LIMIT 1\", name);
mysql_query(query);
mysql_store_result();
if(mysql_num_rows() > 0)
{
   mysql_fetch_row(query);
   mysql_free_result();
   print(query);
   sscanf(query,\"p<|>ddffff\",vehicleid,kocsicolor,Xpos,Ypos,Zpos,AnglePos);
   CreateVehicle(vehicleid, Xpos, Ypos, Zpos, AnglePos, kocsicolor, kocsicolor, -1);
   printf(\"Kocsi ID: %d\",vehicleid);
} else {
   printf(\"Ezen a néven nincs elmentve jármû: %s\", name);
   mysql_free_result();
}
return 1;
}[/pawn]

Nem elérhető Norby

  • 1575
    • Profil megtekintése
MYSQL gondok!
« Válasz #8 Dátum: 2011. december 19. - 07:17:31 »
0 Show voters
Köszi ha hazajöttem kipróbálom.. :)
UI:  nem jó :S Azt írja ki ennél : print(query); hogy <null> és kocs ID nek pedig 0-át
De nem spawnolja le még mindig
\"asdasdsad.jpg\"
« Utoljára szerkesztve: 2011. december 19. - 14:48:33 írta WebSite »

MYSQL gondok!
« Válasz #9 Dátum: 2011. december 19. - 17:27:56 »
0 Show voters
Mivel a code tagek is frankón mûködnek mi lenne ha manuálisan javítanád?
 
WHERE tulaj = &#039;%s\' LIMIT 1\", name);[/quote]
 WHERE tulaj = \'%s\' LIMIT 1\", name);
\"mysqlljghdkasgdha.jpg\"

Nem elérhető Norby

  • 1575
    • Profil megtekintése
MYSQL gondok!
« Válasz #10 Dátum: 2011. december 19. - 17:34:55 »
0 Show voters
Idézetet írta: ɐʞzssǝlosz date=1324312076\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"14409\" data-ipsquote-contentclass=\"forums_Topic
Mivel a code tagek is frankón mûködnek mi lenne ha manuálisan javítanád?
 
WHERE tulaj = &#039;%s\' LIMIT 1\", name);
WHERE tulaj = \'%s\' LIMIT 1\", name);
\"mysqlljghdkasgdha.jpg\"
 
[/quote]
Annyira azért nem vagyok hülye hozzá hogy azt ne vegyem észre és azt javítottam még mielõtt bemásoltam volna :D
Más ötlet ?

MYSQL gondok!
« Válasz #11 Dátum: 2011. december 19. - 17:41:16 »
0 Show voters
Nekem nincs más ötletem, mint láthatod nálam mûködik, ezt egy képpel is igazoltam, az hogy te nem tudsz importálni egy sql táblát saját mysql szerverre az már legyen a te gondod.  :D

Nem elérhető Norby

  • 1575
    • Profil megtekintése
MYSQL gondok!
« Válasz #12 Dátum: 2011. december 19. - 17:49:45 »
0 Show voters
De be tettem XD ugyan ugy ahogy te csináltad és müködnie kellene ha te mondod....
Ezt csinálja :
\"asd.jpg\"
valamiért keveri a táblákat....

MYSQL gondok!
« Válasz #13 Dátum: 2011. december 19. - 18:21:13 »
0 Show voters
Lehet,valami bezavar,próbáld meg berakni egy FS-be és úgy,ha úgy sem jó,akkor lehet a plugin a rossz!
Gondolom BlueG pluginját használod,ha igen frisssítsd!

Nem elérhető Norby

  • 1575
    • Profil megtekintése
MYSQL gondok!
« Válasz #14 Dátum: 2011. december 19. - 18:33:56 »
0 Show voters
Adnál linket Amelyiket te használod :D
UI :
Rájöttem arra hogy ha ezt kieveszem :
 format(query,sizeof(query),\"INSERT INTO `felhasznalok` (`id`,`name`,`jelszo`) VALUES (0,\'%s\',\'%s\')\",name,jelszo);

 
Szval a regisztráció mentést és igy nincs abban a táblában semmi..
Akkor betölti a kocsit normálisan...
Viszont ha már van a táblában valami akkor nemjó és arra jutottam hogy lehet hogy az a baj hogy mind a kettõ helyen szerepel a nevem és az elsõ táblát olvassa mert az van neki hamarabb és azokat az adatokat olvassa ki... (De ez csak egy ötlet lehetséges ez ?? )
« Utoljára szerkesztve: 2011. december 19. - 19:48:34 írta WebSite »

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal