Versione: v2.3.0
insert
Inserire uno o più record in una tabella.
insert($table, $values)
table [string]
Il nome della tabella.
values [array]
I dati da inserire.
Valore restituito
[PDOStatement] L'istanza PDOStatement per la query eseguita.
$database->insert("account", [
"user_name" => "foo",
"email" => "foo@bar.com",
"age" => 25
]);
Ultimo ID inserito
Per ottenere l'ID della riga inserita, chiama
id() dopo insert().$database->insert("account", [
"user_name" => "foo",
"email" => "foo@bar.com",
"age" => 25
]);
$account_id = $database->id();
Per Oracle, fornire la chiave primaria come terzo parametro di
insert().$database->insert("ACCOUNT", [
"NAME" => "foo"
], "ID");
$account_id = $database->id();
Serializzazione degli array
Per impostazione predefinita, i valori dell'array vengono serializzati con
serialize() prima dell'inserimento. Puoi invece utilizzare [JSON] per memorizzarli con json_encode().$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"]\'
]);
Rilevamento automatico del tipo
Medoo rileva e associa automaticamente i tipi di dati prima dell'inserimento per scritture più sicure ed efficienti.
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", [
// Valore stringa.
"user_name" => "foo",
// Valore intero.
"age" => 25,
// Valore booleano.
"is_locked" => true,
// Valore array.
"lang" => ["en", "fr", "jp", "cn"],
// Valore array codificato come JSON.
"lang [JSON]" => ["en", "fr", "jp", "cn"],
// Valore oggetto.
"object_data" => $object_data,
// Oggetti di grandi dimensioni (LOB).
"image" => $fp
]);
Multi-inserimento
Puoi anche inserire più righe in una singola chiamata.
$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() restituisce un oggetto PDOStatement, quindi puoi chiamare i metodi PDOStatement per ulteriori dettagli.$data = $database->insert("account", [
"user_name" => "foo",
"email" => "foo@bar.com",
"age" => 25
]);
// Restituisce il numero di righe interessate dall'ultima istruzione SQL.
echo $data->rowCount();
// Riferimento: https://php.net/manual/en/class.pdostatement.php
Utilizzo delle funzioni SQL
Per i casi d’uso avanzati, puoi usare le funzioni SQL tramite l’oggetto raw. Per maggiori dettagli, consulta la documentazione raw.
$database->insert("account", [
"user_name" => "bar",
"uid" => Medoo::raw("UUID()")
]);