Verwenden Sie die PHP MySQLi-Funktion, um die zuletzt eingefügte ID abzurufen
-
PHP-Funktion
mysqli()
-
Verwenden Sie die PHP-Funktion
mysqli()
, um die zuletzt eingefügteID
abzurufen
Dieses Tutorial stellt kurz die PHP-Funktion mysqli()
vor und zeigt, wie man damit die zuletzt eingefügte id
aus der MySQL-Datenbank holt.
PHP-Funktion mysqli()
Es handelt sich um eine Version der MySQL
-Treibererweiterung namens mysqli
, die häufig mit dem serverseitigen PHP-Scripting verwendet wird, um eine Verbindung mit den MySQL-Datenbanken oder -Schemas herzustellen.
Zunächst müssen Sie sich mit Ihrer MySQL-Datenbank verbinden. Mit der Funktion connect()
oder mysqli_connect()
wird eine Verbindung zum MySQL-Server hergestellt.
Bevor Sie die Funktion verwenden, müssen Sie das Objekt mysqli()
erstellen, das Parameter über Ihren MySQL-Server enthält.
<?php
$mysqli = new mysqli(
"host_name",
"username",
"password",
"database_name",
"port",
"socket"
);
//Checking connection
if ($mysqli -> connect_errno){
echo "Something went wrong. Failed to connect with MySQL database".
$mysqli -> connection_error;
exit();
}
else{
echo "Connected";
}
?>
Der obige Code informiert den Benutzer, wenn die Verbindung nicht hergestellt wird; Andernfalls wird Verbunden
auf dem Browserbildschirm gedruckt.
Parameter Beschreibung
Parameter | Beschreibung |
---|---|
host_name |
Geben Sie den Namen des Hosts (zB: localhost ) oder IP -Adresse an. |
username |
Geben Sie Ihren Benutzernamen Ihrer MySQL-Datenbank an. |
password |
Geben Sie Ihr Passwort Ihrer MySQL-Datenbank an. |
database_name |
Geben Sie den Namen Ihrer Datenbank oder Ihres Schemas an, mit dem Sie sich in Ihrer MySQL-Datenbank verbinden möchten. |
port |
Wird verwendet, um eine Verbindung zum MySQL-Server herzustellen. |
socket |
Geben Sie den socket oder die Named Pipe an. |
Verwenden Sie die PHP-Funktion mysqli()
, um die zuletzt eingefügte ID
abzurufen
Um diese Aufgabe zu erfüllen, müssen Sie eine Tabelle mit einem AUTO_INCREMENT
-Feld erstellen, das den zuletzt eingefügten Datensatz id
zurückgibt.
Warum AUTO_INCREMENT
? Immer wenn der neue Datensatz in eine Tabelle eingefügt wird, ermöglicht auto-increment
, dass automatisch eine eindeutige Nummer erstellt wird.
Es ist häufig das Feld Primärschlüssel
, das wir jedes Mal automatisch erzeugen möchten, wenn ein neuer Datensatz eingefügt wird. Sehen Sie sich den folgenden Code an, um zu erfahren, wie wir eine Spalte AUTO_INCREMENT
erstellen können:
CREATE TABLE table_name(
column_name1 INT AUTO_INCREMENT PRIMARY KEY,
column_name2 VARCHAR(100)
);
Die Spalte INT
speichert ganzzahlige Werte und AUTO_INCREMENT
erhöht automatisch den Wert der Spalte, wenn ein neuer Datensatz eingefügt wird. Schließlich richtet der PRIMARY KEY
die Einschränkung ein und lässt nur eindeutige Werte für die Spalte zu.
Die zweite Spalte ist vom Typ VARCHAR
, der Zeichenfolgenwerte akzeptieren kann. Um die zuletzt eingefügte id
zu holen, stellt mysqli()
den Befehl insert_id
bereit; Überprüfen Sie es unten:
$mysql->insert_id;
Um diesen Befehl in Aktion zu sehen, führen Sie zuerst eine INSERT
-Abfrage aus, und führen Sie dann den insert_id
-Befehl aus, um die zuletzt eingefügte id
anzuzeigen:
<?php
$mysqli = new mysqli(
"host_name",
"username",
"password",
"database_name",
"port",
"socket"
);
// Checking connection
if ($mysqli -> connect_errno){
echo "Something went wrong. Failed to connect with MySQL database".
$mysqli -> connection_error;
exit();
}else{
echo "Connected";
}
$sql_query = "INSERT INTO table_name (column_name2) VALUES ('value_2')";
if ($mysqli->query($sql_query) === TRUE) {
printf("Last inserted record ID %d. \n", $mysqli->insert_id);
} else {
echo "Error: ". $sql_query . "<br>" . $mysqli->error;
}
?>
Im obigen Code führt die Funktion $mysqli -> query()
Ihre angegebene Abfrage für die ausgewählte Datenbank aus. und vergleicht den zurückgegebenen Wert.
Wenn es TRUE
ist, verwenden wir die Funktion printf()
, um einen formatierten String auszugeben; Andernfalls wird mit $mysqli -> error
ein Fehler ausgegeben.
Die Parameter, die Sie der Funktion printf()
zur Verfügung stellen, werden nach dem %
-Zeichen in die von Ihnen angegebene Originalzeichenfolge eingefügt. Und das %d
-Zeichen bedeutet, dass der Wert, der eingefügt wird, eine vorzeichenbehaftete
Dezimalzahl ist (negativ, positiv oder Null).