GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Segítségkérés => A témát indította: Benceee - 2012. február 06. - 16:25:15

Cím: MySQL beolvasás
Írta: Benceee - 2012. február 06. - 16:25:15
Üdv!
MySQL adatbázisból, hogy kell beolvasni adatot? Sortördelésrõl hallottam, de valaki írna egy komplett példát?
Cím: MySQL beolvasás
Írta: kadaradam - 2012. február 06. - 16:26:18
Nem kiolvasás?
Vagy beilleszteni szeretnél valamit?
Cím: MySQL beolvasás
Írta: Benceee - 2012. február 06. - 16:30:24
Egyre megy. :P
Az adatbázisból szeretnék kiolvasni.
Cím: MySQL beolvasás
Írta: DrAkE - 2012. február 06. - 16:32:21
Többféle megoldás van:
1. sscanf segítségével.
2.  mysql_get_field segítségével.
mysql_get_field:
 

mysql_query(\"SELECT * FROM `adatok` WHERE id > 0\");
mysql_store_result();
if(mysql_retrieve_row())
{
new szoveg[50];
mysql_get_field(\"oszlopneve\", szoveg);
}
mysql_free_result();

 
sscanf:
 

new szoveg[50], result[2048];
mysql_query(\"SELECT * FROM `adatok` WHERE id > 0\");
mysql_store_result();
while(mysql_fetch_row_format(result, \"|\"))
{
sscanf(result, \"p<|>s[32]dddddddd\", valami, valami2, valami3, valami4, valami5, valami6); //sscanfhoz az oszlopok típusai mennek pl: varchar --> s(tring), int --> d ha nem akarsz csak egy adatot kiolvasni, akkor {} jel közé rakod azokat amelyek nem kellenek pl: s[32]{dddddddd}
}
mysql_free_result();
Cím: MySQL beolvasás
Írta: Benceee - 2012. február 06. - 17:12:20
Sajnos nem értem.
Cím: MySQL beolvasás
Írta: DrAkE - 2012. február 06. - 17:17:08
http://wiki.sa-mp.com/wiki/MySQL
http://wiki.sa-mp.com/wiki/Mysql_tutorial
Cím: MySQL beolvasás
Írta: Benceee - 2012. február 06. - 17:24:11
   new Query[100];
format(Query,100,\"SELECT * FROM felh WHERE nev=\'%s\'\",JatekosNeve(playerid));
mysql_query(Query);
mysql_store_result();
new szoveg[10];
if(mysql_retrieve_row())
{
PlayerInfo[playerid][Admin] = mysql_get_field(\"admin\", szoveg);
}
mysql_free_result();

 
Az adatbázisban hiába 3-mas az érték, 1-est ad.
Cím: MySQL beolvasás
Írta: DrAkE - 2012. február 06. - 17:39:43
Idézetet írta: Benceee date=1328545451\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"16669\" data-ipsquote-contentclass=\"forums_Topic

   new Query[100];
format(Query,100,\"SELECT * FROM felh WHERE nev=\'%s\'\",JatekosNeve(playerid));
mysql_query(Query);
mysql_store_result();
new szoveg[10];
if(mysql_retrieve_row())
{
PlayerInfo[playerid][Admin] = mysql_get_field(\"admin\", szoveg);
}
mysql_free_result();

 
Az adatbázisban hiába 3-mas az érték, 1-est ad.
 
Talán így jobb lenne:
 

mysql_get_field(\"admin\", szoveg);
PlayerInfo[playerid][Admin] = szoveg;
Cím: MySQL beolvasás
Írta: Benceee - 2012. február 06. - 17:49:45
Error
 error 006: must be assigned to an array
Hibás sor:
PlayerInfo[playerid][Admin] = szoveg;
Cím: MySQL beolvasás
Írta: DrAkE - 2012. február 06. - 17:56:22
Idézetet írta: Benceee date=1328546985\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"16669\" data-ipsquote-contentclass=\"forums_Topic
Error
 error 006: must be assigned to an array
Hibás sor:
PlayerInfo[playerid][Admin] = szoveg;
 


PlayerInfo[playerid][Admin] = strval(szoveg);

 
Ha így sem menne akkor a \"szoveg\" változónak ne adj cellát.[/code]
Cím: MySQL beolvasás
Írta: Benceee - 2012. február 06. - 18:14:48
Köszi.