Du fragst ab ob die Hanynummer die generierte Zahl ist...
WHERE `HandyNummer` = '%s'
Lösungsvorschlag:
mysql_query("UPDATE accounts SET HandyNummer='%s' WHERE=Username='%s'",playerid,rand);
nicki85:
Das ist doch kompletter Schwachsinn. Wenn Du keine Ahnung hast, lass es! Er will es erstens nicht Updaten, sondern prüfen ob ein Eintrag mit dieser Bedingung schon vorhanden ist und zweitens ist die Variable "rand" ein Integer und kein String!
@Threadersteller:
Du hast soweit eigentlich alles richtig gemacht.
Ändere aber bitte Deinen Query in folgendes:
format(Query, sizeof(Query), "SELECT * FROM `accounts` WHERE `HandyNummer` = %d",rand);
Da Random ein Integer ist und kein String, sollte der Query erfolgreicht ausgeführt werden können.
Du könntest Deine Stock aber noch wie folgt abändern:
stock mysql_CheckHandyNummer(playerid)
{
new Query[128],count;
new rand = random(999999)+111111;
mysql_real_escape_string(SpielerName(playerid), SpielerName(playerid));
format(Query, sizeof(Query), "SELECT * FROM `accounts` WHERE `HandyNummer` = %d",rand);
mysql_query(Query);
mysql_store_result();
count = mysql_num_rows(); if(mysql_num_rows() > 0) { mysql_free_result(); return true; } else { mysql_free_result(); return false; }
}
//edit:
Hab Dir das nochmal in Pastebin.com gemacht. Leider ist der MAC auf meiner Arbeit nicht so gut^^
http://pastebin.com/AXfdaZVA