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();
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.
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;
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]