Hello Vinzenz,
Wenn man ein SQL-Problem hat, ist PHP-Code meist nicht besonders hilfreich, aber die folgende Funktion ...
function generate_id()
{
global $title, $description;
$continue = true;// Datenbankgestützte Artikel-Nummern-Verwaltung
$num_query = "select * from numbers where id='1'"; // 1 = Nummernkreis für Auktions-Nummern
$num_result = mysql_query($num_query);
$auction_id = mysql_result($num_result,0,"value");
$next_num = intval($auction_id) + 1;
mysql_query("update numbers set value=$next_num");return $auction_id;
}ist fehleranfällig ohne Ende und sollte *nicht* angewandt werden. Verwende AUTO_INCREMENT und LAST_INSERT_ID() bzw. den PHP-Wrapper zu letzterer.
gib azrailbey, oder wie sie sich auch nennt, doch wenignstens auch ein Stichwort dazu, warum die Funktion Unsinn ist :-)
http://en.wikipedia.org/wiki/Time-of-check-to-time-of-use
http://de.wikipedia.org/wiki/Nebenläufigkeit
(schlechte) Abhilfe durch:
http://dev.mysql.com/doc/refman/5.1/de/lock-tables.html
Außerdem ist es meistens kontrproduktiv, Funktionlitäten, die das DBMS schon bereitstellt, nochmals neu zu erfinden...
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg