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