Einfügen von Daten in MySQL mit MySQLi und PDO
Nach einer Datenbank und eine Tabelle erstellt wurden, können wir Hinzufügen von Daten in ihnen beginnen.
Hier sind einige Syntaxregeln zu beachten:
- Die SQL-Abfrage muss in PHP zitiert werden
- String-Werte in der SQL-Abfrage muss angegeben werden
- Numerische Werte sind nicht zitiert werden
- Das Wort NULL muss nicht angegeben werden
Die INSERT INTO-Anweisung wird verwendet, um neue Datensätze in 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 unsere SQL - Tutorial .
Im vorigen Kapitel haben wir eine leere Tabelle mit dem Namen "MyGuests" mit fünf Spalten: "id" , "firstname" , "lastname" , "email" - "reg_date" "email" und "reg_date" . Lassen Sie uns nun die Tabelle mit Daten füllen.
Hinweis: Wenn eine Spalte AUTO_INCREMENT (like the "id" column) oder ein Zeitstempel (like the "reg_date" column) , ist es nicht notwendig , in der SQL - Abfrage angegeben werden; MySQL wird der Wert automatisch hinzuzufügen.
Die folgenden Beispiele fügen Sie einen neuen Datensatz in die "MyGuests" Tabelle:
Beispiel (MySQLi Object-oriented)
<?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 Procedural)
<?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;
?>