Version: v2.3.0
insert
Einen oder mehrere Datensätze in eine Tabelle einfügen.
insert($table, $values)
table [string]
Der Name der Tabelle.
values [array]
Die einzufügenden Daten.
Rückgabewert
[PDOStatement] Die PDOStatement Instanz für die ausgeführte Abfrage.
$database->insert("account", [
"user_name" => "foo",
"email" => "foo@bar.com",
"age" => 25
]);
Letzte Einfügungs-ID
Um die eingefügte Zeilen-ID zu erhalten, rufen Sie
id() nach insert() auf.$database->insert("account", [
"user_name" => "foo",
"email" => "foo@bar.com",
"age" => 25
]);
$account_id = $database->id();
Geben Sie für Oracle den Primärschlüssel als dritten Parameter von
insert() an.$database->insert("ACCOUNT", [
"NAME" => "foo"
], "ID");
$account_id = $database->id();
Array-Serialisierung
Standardmäßig werden Array-Werte vor dem Einfügen mit
serialize() serialisiert. Sie können stattdessen [JSON] verwenden, um sie mit json_encode() zu speichern.$database->insert("account", [
"user_name" => "foo",
"email" => "foo@bar.com",
"age" => 25,
"lang" => ["en", "fr", "jp", "cn"] // => \'a:4:{i:0;s:2:"en";i:1;s:2:"fr";i:2;s:2:"jp";i:3;s:2:"cn";}\'
]);
$database->insert("account", [
"user_name" => "foo",
"email" => "foo@bar.com",
"age" => 25,
"lang [JSON]" => ["en", "fr", "jp", "cn"] // => \'["en","fr","jp","cn"]\'
]);
Automatische Typenerkennung
Medoo erkennt und bindet Datentypen automatisch vor dem Einfügen, um sicherere und effizientere Schreibvorgänge zu ermöglichen.
class Foo {
var $bar = "cat";
public function __wakeup()
{
$this->bar = "dog";
}
}
$object_data = new Foo();
$fp = fopen($_FILES[ "file" ][ "tmp_name" ], "rb");
$database->insert("account", [
// Zeichenfolgenwert.
"user_name" => "foo",
// Ganzzahlwert.
"age" => 25,
// Boolescher Wert.
"is_locked" => true,
// Array-Wert.
"lang" => ["en", "fr", "jp", "cn"],
// Als JSON codierter Array-Wert.
"lang [JSON]" => ["en", "fr", "jp", "cn"],
// Objektwert.
"object_data" => $object_data,
// Großobjekte (LOBs).
"image" => $fp
]);
Mehrfacheinfügung
Sie können auch mehrere Zeilen in einem einzigen Aufruf einfügen.
$database->insert("account", [
[
"user_name" => "foo",
"email" => "foo@bar.com",
"age" => 25,
"city" => "New York",
"lang [JSON]" => ["en", "fr", "jp", "cn"]
],
[
"user_name" => "bar",
"email" => "bar@foo.com",
"age" => 14,
"city" => "Hong Kong",
"lang [JSON]" => ["en", "jp", "cn"]
]
]);
PDOStatement
insert() gibt ein PDOStatement-Objekt zurück, sodass Sie PDOStatement-Methoden für zusätzliche Details aufrufen können.$data = $database->insert("account", [
"user_name" => "foo",
"email" => "foo@bar.com",
"age" => 25
]);
// Gibt die Anzahl der Zeilen zurück, die von der letzten SQL-Anweisung betroffen waren.
echo $data->rowCount();
// Referenz: https://php.net/manual/en/class.pdostatement.php
Verwendung von SQL Funktionen
Sie können SQL-Funktionen über das Raw-Objekt für erweiterte Anwendungsfälle verwenden. Lesen Sie mehr unter https://medoo.in/api/raw.
$database->insert("account", [
"user_name" => "bar",
"uid" => Medoo::raw("UUID()")
]);