php_beginner: MySQL Transactions

Beitrag lesen

PHP weigert sich, mehrere Statements mit einem mysql_query()-Aufruf auszuführen. Und das ist auch gut so, verhindert dies doch zumindest diejenigen SQL-Injection-Angriffe, die das eigentliche Statement abschließen und neue Statements anzuhängen versuchen. Für mehrere Statements benötigst du PHP5, die mysqli-Extension und die Funktion mysqli_multi_query(). Außerdem brauchst du die InnoDb-Datebase Engine, wenn du unter MySQL Transaktionen vermenden willst.

Wenn das erfolgt, bist du aber selbst dran schuld, denn LAST_INSERT_ID() bezieht sich immer nur auf die aktuelle Datenbankverbindung. Die PHP-Funktion mysql_insert_id() greift übrigens auch nur auf diesen Wert zu.

echo "$verabschiedung $name";

Danke fuer diese Info. Dachte, dass last_insert_id() allgemein die letzte ID zurueckgibt. Stellt man sich ein Website mit mehreren Zugriffen/Inserts/Updates vor, dann haette das zum Problem werden koennen.