Hallo und guten Abend,
Also müsste es nun mMn heißen: $pdo->lastInsertId() oder bei Dir eben $mysqli->lastInsertId()
vielen lieben Dank nochmals für deine Hilfe, also müsste es so heißen?
Ja, denke ich. Probier es doch bitte mal aus.
if ($stmt = $mysqli->prepare("INSERT INTO web_produkttypen (py_titel, py_status) VALUES (?, ?)")) { $py_titel = $_POST["titel"]; $py_status = $_POST["status"]; $stmt->bind_param("ss", $py_titel, $py_status); $stmt->execute(); } else { echo $mysqli -> error; } if ($stmt = $mysqli->prepare("INSERT INTO web_preis_settings (ps_pTypID) VALUES (?)")) { $ps_pTypID = $mysqli->lastInsertId(); $stmt->bind_param("s", $ps_pTypID); $stmt->execute(); } else { echo $mysqli -> error; }
Wenn man nur mit MySQL arbeitet, ist PDO eindeutig überskaliert. Das könnte man doch nur wirklich brauchen, wenn man den Datenbanktreiber ständig wecheln muss und nicht immer seine Seite der API ändern will.
Ein vernünftig durchdachtes Modul mit MySQLi, dass z.B. dann auch sinngemäße Konvertierungen und Prüfung von Typen übernimmt, das Escaping durchführt, usw. (das würde hier zu weit führen), reicht bestimmt in 95% der Anwendungsfälle.
Sonst kann man auch ganz auf SQL verzichten, und gleich mit einem rudimentären bTrieve arbeiten. Das gibts schon 25 Jahre (seit Novell SLS->1) und es läuft.
Grüße
TS