Ich bin sehr neu in MySQL und haben eine Tabelle (listofnames) mit 3 Spalten wie folgt:MySQL und PHP INSERT und UPDATE und Abrufen neuer Wert sofort
id[int] auto-increment (primary)
name[varchar] (unique)
timesSeen[int] default 1
I "name" in die Tabelle einfügen, indem Sie wenn eine Zeile für einen Namen vorher vergewissern bereits vorhanden ist, wenn wir es nicht fügen, sonst wir timesSeen aktualisieren, indem sie zu erhöhen ist Wert von 1. ich bin in der Lage zu tun, dass mit den folgenden pHP mysqli Objekten:
$query = "INSERT INTO `listOfNames`(`name`) VALUES (`someName`) ON DUPLICATE KEY UPDATE `timesSeen` = VALUES (`timesSeen`) + 1";
$results = $conn->query($query);
Was Ich möchte jetzt auf den neuen Wert von timesSeen for someName zugreifen, ohne eine neue SELECT-Abfrage zu erstellen. Ich würde denken, dass Sie auf diese Zeile und ihre Werte zugreifen können, nachdem Sie sie eingefügt oder aktualisiert haben, ohne eine neue SELECT-Abfrage erstellen zu müssen. $ Conn-> query() gibt jedoch nur einen Bool für INSERT-Abfragen zurück.
Also, was ist der einfachste Weg, jetzt den neuen Wert von timesSeen für "someName" sofort nach meiner INSERT UPDATE Abfrage zu bekommen? Gibt es eine Art lastResult() -Memberfunktion für mein $ conn -Objekt, das ich nicht sehe?
Vielen Dank für Ihre Hilfe.
Danke, ich lese es gerade in der Dokumentation auch hier http://dev.mysql.com/doc/refman/5.7/en/update.html. "Sie können eine Tabelle nicht aktualisieren und in einer Unterabfrage aus derselben Tabelle auswählen." Ich werde dann einfach eine andere SELECT-Abfrage verwenden. – Wallboy