Verwenden Sie die PHP MySQLi-Funktion, um die zuletzt eingefügte ID abzurufen

Preet Sanghavi 20 Juni 2023
  1. PHP-Funktion mysqli()
  2. Verwenden Sie die PHP-Funktion mysqli(), um die zuletzt eingefügte ID abzurufen
Verwenden Sie die PHP MySQLi-Funktion, um die zuletzt eingefügte ID 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).

Preet Sanghavi avatar Preet Sanghavi avatar

Preet writes his thoughts about programming in a simplified manner to help others learn better. With thorough research, his articles offer descriptive and easy to understand solutions.

LinkedIn GitHub

Verwandter Artikel - MySQL Function