Hallo, also für mich ist MySQL in SAMP sehr neu. Ich behersche die MySQL Sprache, jedoch habe ich diese nur mit PHP und der Console angewandt.
Warum funktioniert dieser Code nicht?:
public ConnectPlayer(playerid)
{
new plname[24];
new query[128];
mysql_free_result()
GetPlayerName(playerid, plname, sizeof(plname));
format(query, sizeof(query), "select * from benutzer where name='%s'", plname);
AWpRegpLog[playerid] = 1;
if(mysql_query(query))
{
printf("Ok");
printf(query);
SendClientMessage(playerid, COLOR_LIGHTGREEN, "SERVER: Dieser Nickname ist registriert.");
mysql_store_result();
return 1;
}
else
{
printf("Fehler");
printf(query);
SendClientMessage(playerid,COLOR_LIGHTRED,"SERVER: Du hast hier keinen Account.");
mysql_store_result();
return 1;
}
}
Logdatei;
[11:54:58] Incoming connection: 192.168.0.100:1074
[11:54:58] [join] Grex has joined the server (0:192.168.0.100)
[11:55:07] Ok
[11:55:07] select name from benutzer where name='Grex';
[11:55:12] [part] Grex has left the server (0:1)
[11:55:38] Incoming connection: 192.168.0.100:1075
[11:55:38] [join] Grex11 has joined the server (0:192.168.0.100)
[11:55:46] Ok
[11:55:46] select name from benutzer where name='Grex11';
Kurze Erklärung, gibt mysql_query den Wert 1 zurück, soll er Anzeigen, "Dieser Nickname ist registriert.", sansonst "Du hast hier keinen Account".
Der User Grex existiert, aber User Grex11 nicht...
Er zeig jedoch immer an, dass ich hier einen Account habe,...
mysql_query(..), gibt doch immer einen boolean wert ( true oder false ) zurück, oder funktioniert das hier nicht?
EDIT: Hier auch die MySQL Console:
mysql> select name from benutzer where name='Grex11';
Empty set (0.00 sec)
mysql> select name from benutzer where name='Grex';
+------+
| name |
+------+
| Grex |
+------+
1 row in set (0.00 sec)
mysql>
Alles anzeigen
Wie man sieht, findet er den User Grex, User Grex11 nicht, wie gewollt, nurnicht das Script...
Oder spinnt das Script rum, weil als Antwort Empty Set kommt?
EDIT: Gelöst... war wirklich weil Empty Set als Antwort kam. Es ist mysql_fetch_field anzuwenden!!