PHP Datenbank Problem?!

Kumaro

Mitglied
Hi Leute ich brauch dringend eure Hilfe...
Ich erzeuge eine zufällige ID (6-stellig) und dann soll überprüft werden ob die ID schon in der Datenbank vorhanden ist und wenn sie schon vorhanden ist soll eine neue generiert werden. Ansonsten soll die beibehalten bleiben.

Der Zugriff auf die Datenbank erfolgt vorher.

do { // Schleife wird so oft durchlaufen bis die ID NICHt vorhanden ist

$event_id = rand(100000, 999999);

//Herstellen der Verbindung zur Datenbank

$sql = mysql_query("SELECT COUNT(*) FROM Events WHERE ID = '$event_id'");
$vorhanden = mysql_result($sql,0); // Überprüft ob der Wert schon einmal in der DB vorhanden ist


} while($vorhanden == 0);


Leider funktioniert das anscheinend nicht richtig manchmal funktioniert es und manchmal bekomm ich folgende meldung (siehe bild)

w6vozrwu.jpg

Ich kann mir das leider absolut nicht erklären wo das Problem ist und warum er nicht prüfen kann ob die id vorhanden ist..

Ihr seid meine letzte hoffnung.

Danke im vorraus
 
Wo stellst du denn die Verbindung zur Datenbank her?

Denn die Fehlermeldung besagt ja, dass es keine Verbindung zur Datenbank gibt.
 
Also der allgemeine Datenbanklogin erfolgt vorher schon.
Also ziel meiner schleife ist das er eine 6-stellige Id erzeugt (per zufall) dann auf die Db zugreifft und zählt wie oft die ID in der tabelle vorhanden ist. Ist sie nicht vorhanden also 0 dann kann er die schleife verlassen und die ID für einen neuen Eintrag verwenden.
Ist die ID schon vorhanden also (1) dann muss er zurück an den anfang der schleife und eine neue id erzeugen... das so lange bis die ID nicht vorhanden ist...
 
PHP:
do {

$event_id = rand(100000, 999999);

$sql = mysql_query("SELECT ID FROM Events WHERE ID = '$event_id'");
$vorhanden = mysql_num_rows($sql); // Überprüft ob der Wert schon einmal in der DB vorhanden ist


} while($vorhanden == 0);
 
Zurück