Wie liest man beim Mysql Plugin R34 ein String aus der Datenbank?
Will z.b einen Namen auslesen
mfg
Wie liest man beim Mysql Plugin R34 ein String aus der Datenbank?
Will z.b einen Namen auslesen
mfg
cache_get_field_content
error 035: argument type mismatch (argument 3)
cache_get_field_content(0,"grund",dbhandle);
Du musst den Grund auch irgendwo reintun
(row, const field_name[], destination[], connectionHandle = 1, max_len = sizeof(destination))
rowThe row's index (starts at '0').
const field_name[]The field's name.
destination[]The string to store the data into.
connectionHandleThe connection handle this will be processed on (optional).
max_lenThe size of the destination string (optional).
Du musst den Grund auch irgendwo reintun
Code(row, const field_name[], destination[], connectionHandle = 1, max_len = sizeof(destination)) rowThe row's index (starts at '0'). const field_name[]The field's name. destination[]The string to store the data into. connectionHandleThe connection handle this will be processed on (optional). max_lenThe size of the destination string (optional).
Ich will, das man den Grund aus der DB liest
Das ist mir schon klar.
Guck dir mal die Parameter an.
new destination[25];
cache_get_field_content(0,"grund",destination,dbhandle);
Das ist mir schon klar.
Guck dir mal die Parameter an.
- row - Hast du in dem Fall 0
- field_name - In deine Fall "grund" <- So sollte auch der Spaltenname lauten
- destination - Hast du keine. Du musst den string auch irgendwo lagern.
new destination[25];
cache_get_field_content(0,"grund",destination,dbhandle);
Hier mein Ban Befehl, wo kann ich den Grund speichern blicke gerade nicht durch xd
COMMAND:ban(playerid,params[])
{
new grund[32],string[128],pID,query[128];
if(sInfo[playerid][pEingeloggt] == 0) return SendClientMessage(playerid,GRAU,"** Du bist nicht eingeloggt!");
if(!IsPlayerTheAdmin(playerid,3)) return SendClientMessage(playerid,GRAU,"Du bist nicht berechtigt diesen Befehl zu benutzen!");
if(sscanf(params,"us[32]",pID,grund)) return SendClientMessage(playerid,GRAU,"Benutze: /ban [SpielerName/ID] [Grund]");
if(!IsPlayerConnected(pID)) return SendClientMessage(playerid,GRAU,"Dieser Spieler ist nicht online");
format(string,128,"[KICK] Admin %s hat den Spieler %s vom Server gebannt, Grund: %s",PlayerName(playerid),PlayerName(pID),grund);
SendClientMessageToAll(ROT,string);
format(query,sizeof(query),"INSERT INTO bannedplayers (username,admin,grund) VALUES ('%s','%s','%s')",PlayerName(pID),PlayerName(playerid),grund);
mysql_function_query(dbhandle,query,false,"","");
Kick(pID);
return 1;
}
Sollte auch so funktionieren:
new destination[25];cache_get_row(0, X, destination);
bei X musst du dann die ID vom Feld grund einfügen,
sprich hast du eine Tabelle:
0) id,
1) name,
2) password,
3) score,
4) money,
5) grund
wär Grund (also X) = 5, da von 0 an gezählt wird
/e: Hö? Sollte so funktionieren... @ Post über mir
Alles anzeigenSollte auch so funktionieren:
new destination[25];cache_get_row(0, X, destination);
bei X musst du dann die ID vom Feld grund einfügen,
sprich hast du eine Tabelle:
0) id,
1)name,
2)password,
3)score,
4)money,
5)grund
wär Grund (also X) = 5, da von 0 an gezählt wird
Muss nicht da irgendwo noch die dbhandle hin? xd
Alles anzeigenHier mein Ban Befehl, wo kann ich den Grund speichern blicke gerade nicht durch xd
COMMAND:ban(playerid,params[])
{
new grund[32],string[128],pID,query[128];
if(sInfo[playerid][pEingeloggt] == 0) return SendClientMessage(playerid,GRAU,"** Du bist nicht eingeloggt!");
if(!IsPlayerTheAdmin(playerid,3)) return SendClientMessage(playerid,GRAU,"Du bist nicht berechtigt diesen Befehl zu benutzen!");
if(sscanf(params,"us[32]",pID,grund)) return SendClientMessage(playerid,GRAU,"Benutze: /ban [SpielerName/ID] [Grund]");
if(!IsPlayerConnected(pID)) return SendClientMessage(playerid,GRAU,"Dieser Spieler ist nicht online");
format(string,128,"[KICK] Admin %s hat den Spieler %s vom Server gebannt, Grund: %s",PlayerName(playerid),PlayerName(pID),grund);
SendClientMessageToAll(ROT,string);
format(query,sizeof(query),"INSERT INTO bannedplayers (username,admin,grund) VALUES ('%s','%s','%s')",PlayerName(pID),PlayerName(playerid),grund);
mysql_function_query(dbhandle,query,false,"","");
Kick(pID);
return 1;
}
Muss nicht da irgendwo noch die dbhandle hin? xd
Nicht zwingend notwendig, wenn du nur 1 Verbindung im Script aufbaust.
kannst du natürlich aber trotzdem machen:
cache_get_row(0, X, destination, dbhandle);
MfG
Alles anzeigenNicht zwingend notwendig, wenn du nur 1 Verbindung im Script aufbaust.
kannst du natürlich aber trotzdem machen:
cache_get_row(0, X, destination, dbhandle);
MfG
müsste das gehen? xd
public OnUserCheckBan(playerid)
{
new num_rows,num_fields;
cache_get_data(num_rows,num_fields,dbhandle);
if(num_rows==1)
{
new str[128];
new destination[25];cache_get_row(0, 3, destination);
format(str,128,"Grund: %s",destination);
SendClientMessage(playerid,ROT,str);
}
return 1;
}
// Da kommt Grund: NULL
Schick mal die MySQL Query und deine Tabelle (die Struktur...)
Grüße