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