Mailinglisten-Archive |
On Mon, 14 Aug 2000, Egon Schmid (_(at)_work) wrote: > > > mysql_insert_id() ist unmittelbar nach der Generierung eines > > > AUTO_INCREMENT-Wertes abzufragen. Wenn man das irgendwo im Skript macht, > > > dann gehts halt nicht oder ist dem Zufall überlassen. > > > > Auch diesen Fehler hab ich nicht begangen, und bevor noch > > weiter im Trueben gefischt wird, hier der Auszug meines Scripts: > > > > // sql_query() ist der Kompatibilitaetsaufruf, der mysql_query() > > // mit vertauschten Parametern (!) aufruft. > > $res=sql_query ($SQL_CONNECTION, > > "insert into ".$USER_TABLE." ". > > "(user_name, user_fullname, user_pwd, multilogin, user_flags, ". > > " user_email, expire_at) values (\"". > > addslashes($edit_name[0])."\", \"".addslashes($edit_fullname[0]). > > "\", \"".$edit_pwd[0]."\", \"".$edit_multi[0]."\", ". > > $flags.", \"".addslashes($edit_email[0]). > > "\", \"".$edit_expire[0]."\")"); > > // Damit das GANZ klar nochmal gesagt wird: Die query oben > > // ist erfolgreich, falls ich beim Formatieren der Mail mit > > // den quotes durcheinander kam: Sorry, aber folgende Zeile > > // liefert '0' : > > $new_id=sql_insert_id(); > > // und auch hier ist sql_insert_id() ein direkter Verweis > > // auf mysql_insert_id() > > > > // Alle noch folgende Zeilen sind nur fuer's debuggen geschrieben: > > if ($new_id==0) { > > if (!($new_id=sql_insert_id($SQL_CONNECTION))) { > > if (!($new_id=sql_insert_id($res))) { > > // hier lande ich IMMER, wenn das Script des Kollegen > > // mit in dieser Seite drin ist: > > echo ("New ID: 0 in all stages: $new_id. \$res: $res<br>"); > > } > > else { > > echo ("stage III Done<br>"); > > } > > } > > else { > > echo ("stage II Done<br>"); > > } > > } > > Und was ist, wenn die Query nicht funktioniert hat? Paul DuBois schreibt > dazu: jaja bla bla! Ich weiss nicht, wozu ich eigentlich mir so viel Muehe gegeben habe, das Script zu dokumentieren: Da steht danz fett: "Damit das GANZ klar nochmal gesagt wird: Die query oben ist erfolgreich" und zum Beweis bekomme ich ja oben die $res-Variable ausgegeben: "$res: 1" > Du solltest eine Fehlerüberprüfung bei $res = sql_query (...) or die > ("Hat nicht funktioniert"); reinbauen. eigentlich schon, aber wie gesagt: Sie IST erfolgreich. Wie man vielleicht erkennen kann, wird hiermit ein User-Account angelegt, und dieser Account ist nachher auch vorhanden, nur weiss ich halt nicht seine ID ! > > $handler = _(at)_mysql_connect("$jura_host","$jura_user","$jura_pass"); > > _(at)_mysql_select_db ($jura_db, $handler); > > Das _(at)_-Zeichen bitte beim Debuggen entfernen. Das ist nicht mein Script, ich verwende fast nie _(at)_ Aber auch hier wird auch ohne _(at)_ kein Fehler ausgegeben. Diese Sendung wurde Ihnen praesentiert von Jim PGP encrypted mails welcome! Key on any keyserver or ftp://users.de --- There are two major products that come from Berkeley : LSD and UNIX. ... We don't believe this to be a coincidence.
php::bar PHP Wiki - Listenarchive