2016-10-07 6 views
0

zurück Ich habe ein Problem mit LAST_INSERT_ID.PHPMYADMIN LAST_INSERT_ID gibt 0

CREATE TABLE for_test(
id_test INT UNSIGNED AUTO_INCREMENT PRIMARY KEY, 
test_name VARCHAR(30) 
); 

INSERT INTO for_test (test_name) VALUES ('test1'); 
INSERT INTO for_test (test_name) VALUES ('test2'); 

Ich habe zwei Datensätze erfolgreich - noch SELECT LAST_INSERT_ID() gibt noch 0 (I InnoDB verwenden, wenn diese auch Angelegenheiten)

Könnte mir jemand sagen, was mache ich falsch?

+0

haben Sie versucht mit 'mysql_insert_id()' – atoms

+1

@atoms: mysql_insert_id ist PHP-Funktion. auf phpmyadmin wird immer 0 zurückgegeben. Verwenden Sie es auf Prozedur/Funktion, und Sie werden das Ergebnis erhalten. – Riad

+0

nur eine Randnotiz: Die last_insert_id könnte auch die letzte eingefügte ID von jemand anderem aus einer anderen Tabelle sein. ** es sei denn * Sie verwenden Transaktionen !! –

Antwort

1

Keine andere Abfrage nach Einsatz und sie sollten beide zusammen durchführen. Pass auf das auf. Auch wenn Sie nicht damit umgehen können, können Sie

SELECT id FROM for_test ORDER BY id DESC LIMIT 1; 

verwenden und Handbuch dieses

How to use LAST_INSERT_ID()

+1

Danke für Ihre Antwort, es hat sehr geholfen :) – Petrus

+0

Ich bin froh, dass es. Ich hoffe, dass Sie auf "Diese Antwort ist nützlich" klicken. Habt eine schöne Entwicklung :) –

0

sollten Sie mysqli Beispiel versuchen

$sql = "INSERT INTO user (firstname, lastname, email) 
VALUES ('test', 'test', '[email protected]')"; 

if ($conn->query($sql) === TRUE) { 
    $last_id = $conn->insert_id; 
    echo "New record created successfully. Last inserted ID is: " . $last_id; 
} else { 
    echo "Error: " . $sql . "<br>" . $conn->error; 
} 
+0

Wie Riad sagte - mysqli ist es PHP-Funktion und ich benutze PHPMyAdmin Konsole – Petrus

0
CREATE TABLE for_test(
id_test INT UNSIGNED AUTO_INCREMENT PRIMARY KEY, 
test_name VARCHAR(30) 
); 

INSERT INTO for_test (test_name) VALUES ('test1'); 
INSERT INTO for_test (test_name) VALUES ('test2'); 
SELECT LAST_INSERT_ID(); 

Hinweis lesen: es funktioniert mit Motor - InnoDB in phpMyAdmin. Wenn Sie immer noch das gleiche Problem haben, senden Sie bitte einen Fehler-Snapshot, so dass wir das genaue Problem verfolgen können.

Hoffe, das wird dir helfen !!