phpbar.de logo

Mailinglisten-Archive

[php] mysql_insert_id() nicht bei mehreren Connections?

[php] mysql_insert_id() nicht bei mehreren Connections?

Egon Schmid (_(at)_work) eschmid_(at)_php.net
Mon, 14 Aug 2000 17:53:09 +0200


Matthias Jim Knopf wrote:
> 
> On Mon, 14 Aug 2000, Egon Schmid (_(at)_work) wrote:

> > > mysql_insert_id (int [link_identifier]);
> >
> > Das muss ein Handbuch vom letzten Jahrhundert sein.
> 
> das mag ja sein, aendert aber an meinem Problem nichts!
> 
> > Dieser Funktionsprototype sagt, dass der link_identifier optional ist.
> > Wenn er angegeben wird, dann sollte er vom Typ her ein Integer sein.
> 
> meine globale Variable ist integer

Das ist nicht gut und könnte Probleme bereiten.
 
> > Es funktioniert in mehreren Skripten wenn man das optionale Argument
> > weglässt.
> 
>     Das ist eine  falsche  Aussage,  sonst  haette  ich  sicherlich
>  meine Mail nicht geschrieben!

Die Aussage ist richtig. Kann es sein, dass Du die Funktion
mysql_insert_id() falsch anwendest? Das Problem, warum sich diese
Funktion manchmal merkwürdig verhält ist in Paul DuBois, MySQL:
Entwicklung, Implementierung und Referenz, Markt&Technik, auf den Seiten
816 - 818 beschrieben.
 
> > Probleme gibt es nur, wenn man einen Link_Identifier angibt.
> 
>     ob mit oder ohne Argument: Sobald das  andere  Script  auf  der
>  gleichen Seite  AUCH  eine  MySQL-Verbindung  aufbaut,  klappt  in
>  meinem Script kein einziges mysql_insert_id()  mehr!  Und  um  das
>  nochmal zu betonen: Normalerweise  benutze  ich  keine  Parameter,
>  aber es laueft auch nicht mit dem (correkten!) MySQL-Link besser!

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.

-Egon

-- 
SIX Offene Systeme GmbH · Stuttgart  -  Berlin  -  New York
Sielminger Straße 63   ·    D-70771 Leinfelden-Echterdingen
Fon +49 711 9909164 · Fax +49 711 9909199 http://www.six.de


php::bar PHP Wiki   -   Listenarchive