Das beste PHP MySQL einfügen mehrere Daten-Tutorial im Jahr 2024. In diesem Tutorial können Sie Verwenden Sie MySQLi und PDO MySQL mehrere Daten einfügen,Beispiele (MySQLi - Object Oriented),Beispiele (MySQLi - prozessorientiert),Beispiele für (PDO),Verwenden Sie vorbereitete Anweisungen,Beispiele (MySQLi mit Prepared Statements), lernen

PHP MySQL einfügen mehrere Daten

Verwenden Sie MySQLi und PDO MySQL mehrere Daten einfügen

mysqli_multi_query () Funktion wird verwendet, um mehrere SQL-Anweisungen ausführen.

Die folgenden Beispiele sind zu "MyGuests" Tabelle drei neue Datensätze hinzugefügt:

Beispiele (MySQLi - Object Oriented)

<? Php
$ Servername = "localhost";
$ Username = "username";
$ Password = "Passwort";
$ DBNAME = "myDB";

// Verknüpfung erstellen
$ Conn = new mysqli ($ Servername, $ username, $ password, $ dbname);
// Links prüfen
if ($ conn-> connect_error) {
die ( "Verbindung fehlgeschlagen:" $ conn-> connect_error.);
}

$ Sql ​​= "INSERT INTO MyGuests (Vorname, Nachname, E-Mail)
VALUES ( 'John', 'Doe "," john@example.com'); ";
$ Sql. = "INSERT INTO MyGuests (Vorname, Nachname, E-Mail)
VALUES ( 'Mary', 'Moe', 'mary@example.com'); ";
$ Sql. = "INSERT INTO MyGuests (Vorname, Nachname, E-Mail)
VALUES ( 'Julie', 'Dooley', 'julie@example.com') ";

if ($ conn-> multi_query ($ sql) === TRUE) {
echo "Der neue Datensatz wird erfolgreich eingeführt";
} Else {
. Echo "Fehler:" $ sql "<br>" $ conn-> Fehler; de
}

$ Conn-> close ();
?>

Note Beachten Sie, dass jede SQL-Anweisung müssen durch ein Semikolon getrennt werden.

Beispiele (MySQLi - prozessorientiert)

<? Php
$ Servername = "localhost";
$ Username = "username";
$ Password = "Passwort";
$ DBNAME = "myDB";

// Verknüpfung erstellen
$ Conn = mysqli_connect ($ Servername, $ username, $ password, $ dbname);
// Links prüfen
if (! $ conn) {
die ( "Verbindung fehlgeschlagen:" mysqli_connect_error ().);
}

$ Sql ​​= "INSERT INTO MyGuests (Vorname, Nachname, E-Mail)
VALUES ( 'John', 'Doe "," john@example.com'); ";
$ Sql. = "INSERT INTO MyGuests (Vorname, Nachname, E-Mail)
VALUES ( 'Mary', 'Moe', 'mary@example.com'); ";
$ Sql. = "INSERT INTO MyGuests (Vorname, Nachname, E-Mail)
VALUES ( 'Julie', 'Dooley', 'julie@example.com') ";

if (mysqli_multi_query ($ conn, $ sql)) {
echo "Der neue Datensatz wird erfolgreich eingeführt";
} Else {
. Echo "Fehler:" $ sql "<br>" mysqli_error ($ conn); de
}

mysqli_close ($ conn);
?>


Beispiele für (PDO)

<? Php
$ Servername = "localhost";
$ Username = "username";
$ Password = "Passwort";
$ DBNAME = "myDBPDO";

try {
$ Conn = new PDO ( "mysql: host = $ servername; dbname = $ dbname", $ username, $ password);
// Stellen Sie den PDO-Fehler-Modus Ausnahme
$ Conn-> setAttribute (PDO :: ATTR_ERRMODE, PDO :: ERRMODE_EXCEPTION);

// Transaktion starten
$ Conn-> begintransaction ();
// SQL-Anweisung
$ Conn-> exec ( "INSERT INTO MyGuests (Vorname, Nachname, E-Mail)
VALUES ( 'John', 'Doe "," john@example.com') ");
$ Conn-> exec ( "INSERT INTO MyGuests (Vorname, Nachname, E-Mail)
VALUES ( 'Mary', 'Moe', 'mary@example.com') ");
$ Conn-> exec ( "INSERT INTO MyGuests (Vorname, Nachname, E-Mail)
VALUES ( 'Julie', 'Dooley', 'julie@example.com') ");

// Die Transaktion Commit
$ Conn-> commit ();
echo "Der neue Datensatz wird erfolgreich eingeführt";
}
catch (PDOException $ e)
{
// Wenn das Rollback schlägt fehl
$ Conn-> Rollback ();
de Echo $ sql "<br>" $ e-> getMessage ();
}

$ Conn = null;
?>



Verwenden Sie vorbereitete Anweisungen

mysqli-Erweiterung stellt eine zweite Möglichkeit, Aussagen einzufügen.

Wir bereiteten Aussagen und gebunden Parameter.

MySQL-Erweiterung kann ohne eine Anweisung oder Abfrage an die MySQL-Datenbank Daten zu übertragen. Sie können auf die Spalten oder "binden" Variablen zuordnen.

Beispiele (MySQLi mit Prepared Statements)

<? Php
$ Servername = "localhost";
$ Username = "username";
$ Password = "Passwort";
$ DBNAME = "myDB";

// Verbindung erstellen
$ Conn = new mysqli ($ Servername, $ username, $ password, $ dbname);
// Test-Verbindung
if ($ conn-> connect_error) {
die ( "Verbindung fehlgeschlagen:" $ conn-> connect_error.);
} Else {
$ Sql ​​= "IN MyGuests VALUES INSERT (,, ???)";

// Um ​​mysqli_stmt_prepare () Initialisierung Anweisung Objekte
$ Stmt = mysqli_stmt_init ($ conn);

// Prepared Statements:
if (mysqli_stmt_prepare ($ stmt, $ sql)) {
// Bind Parameter
mysqli_stmt_bind_param ($ stmt, 'sss', Vorname $, $ name, $ email);

// Parameter einstellen und ausführen
$ Vorname = 'John';
$ Nachname = 'Doe';
$ E-Mail = 'john@example.com';
mysqli_stmt_execute ($ stmt);

$ Vorname = 'Mary';
$ Nachname = 'Moe';
$ E-Mail = 'mary@example.com';
mysqli_stmt_execute ($ stmt);

$ Vorname = 'Julie';
$ Nachname = 'Dooley';
$ E-Mail = 'julie@example.com';
mysqli_stmt_execute ($ stmt);
}
}
?>

Wir können in dem obigen Beispiel sehen modular mit dem Problem fertig zu werden. Wir können einen Code-Block für das Lesen zu vereinfachen und das Management erstellen.

Hinweis gebunden Parameter. Lassen Sie uns an mysqli_stmt_bind_param aussehen () Code:

mysqli_stmt_bind_param($stmt, 'sss', $firstname, $lastname, $email);

Die Bindung Argumente für eine Abfrage und übergeben Sie Parameter an die Datenbank. Der zweite Parameter ist "sss". Die folgende Liste zeigt den Typ des Parameters. s Charakter erzählt mysql Argument ist ein String.

Es kann die folgenden vier Parameter:

  • i - integer
  • d - doppelter Genauigkeit Gleitkommazahl
  • s - die Zeichenfolge
  • b - a boolean Wert

Jeder Parametertyp muss angegeben werden, die Datensicherheit zu gewährleisten. Nach Art der Beurteilung kann das Risiko von SQL-Injection-Schwachstellen zu reduzieren.

PHP MySQL einfügen mehrere Daten
10/30