Mailinglisten-Archive |
Hallo, mache einfach auf deine regnr einen primary oder unique (wenn schon schon ein primary key existiert). Danach ist der code wie folgt: $db=new MySQLi($host, $user, $passwd, $dbname, $port); $db->query('SET NAMES utf8'); $db->query('SET CHARACTER SET utf8'); for($codecount=1; $codecount<=100000; $codecount++) { $trys=0; do { // hier erzeugen wir unser schönes passwort // $password= irgendeine tolle erzeugung :) } while( $db->query("INSERT INTO tabelleregnr (regnr, ...) VALUES (\'".$db->escape_string($password)."\', ...)") // da wir einen unique oder primary key auf regnr haben schlägt es bei verhandener reg_nr fehl && ++$trys<20 // überlaufschutz ); } Grüsse Marco Am 14.06.2010 11:56, schrieb postneutral. Michael Felstau: > Hi, > > ich muss eindeutige Registrierungscodes generieren, soweit kein Problem, > aber ich muss bei jedem Code überprüfen, ob er schon in der DB existiert. > Das dauert natürlich immer länger, so dass bei 10000 Codes die "max > execution time" erreicht wird. Wie geht ihr so etwas konzeptionell an? > > Ciao > > Michael >
php::bar PHP Wiki - Listenarchive