PHP MySQL Daten einfügen
Einfügen von Daten in MySQL mit MySQLi und PDO
Nachdem eine Datenbank und eine Tabelle erstellt wurden, können wir mit dem Hinzufügen von Daten beginnen.
Hier sind einige Syntaxregeln zu beachten:
- Die SQL-Abfrage muss in PHP in Anführungszeichen gesetzt werden
- Zeichenfolgenwerte innerhalb der SQL-Abfrage müssen in Anführungszeichen gesetzt werden
- Numerische Werte dürfen nicht in Anführungszeichen gesetzt werden
- Das Wort NULL darf nicht in Anführungszeichen gesetzt werden
Die INSERT INTO-Anweisung wird verwendet, um neue Datensätze zu einer MySQL-Tabelle hinzuzufügen:
INSERT INTO table_name (column1, column2, column3,...)
VALUES (value1, value2, value3,...)
Um mehr über SQL zu erfahren, besuchen Sie bitte unser SQL-Tutorial .
Im vorherigen Kapitel haben wir eine leere Tabelle namens „MyGuests“ mit fünf Spalten erstellt: „id“, „firstname“, „lastname“, „email“ und „reg_date“. Lassen Sie uns nun die Tabelle mit Daten füllen.
Hinweis: Wenn eine Spalte AUTO_INCREMENT (wie die Spalte „id“) oder TIMESTAMP mit Standardaktualisierung von current_timesamp (wie die Spalte „reg_date“) ist, muss sie nicht in der SQL-Abfrage angegeben werden; MySQL fügt den Wert automatisch hinzu.
Die folgenden Beispiele fügen der Tabelle „MyGuests“ einen neuen Datensatz hinzu:
Beispiel (MySQLi objektorientiert)
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('John', 'Doe', '[email protected]')";
if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
?>
Beispiel (MySQLi-Prozedur)
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
$sql = "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('John', 'Doe', '[email protected]')";
if (mysqli_query($conn, $sql)) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}
mysqli_close($conn);
?>
Beispiel (PDO)
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDBPDO";
try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
// set the PDO error mode to exception
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('John', 'Doe', '[email protected]')";
// use exec() because no results are returned
$conn->exec($sql);
echo "New record created successfully";
} catch(PDOException $e)
{
echo $sql . "<br>" . $e->getMessage();
}
$conn = null;
?>