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 ();
?>
| 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.