Le meilleur didacticiel PHP MySQL insérer plusieurs données en 2024, dans ce didacticiel, vous pouvez apprendre Utilisez MySQLi et PDO MySQL pour insérer plusieurs données,Exemples (MySQLi - Orienté Objet),Exemples (MySQLi - orienté processus),Des exemples de (AOP),Utilisez les instructions préparées,Exemples (MySQLi utilisant des requêtes préparées),

PHP MySQL insérer plusieurs données

Utilisez MySQLi et PDO MySQL pour insérer plusieurs données

fonction mysqli_multi_query () est utilisée pour exécuter plusieurs instructions SQL.

Les exemples suivants sont "MyGuests" tableau ajouté trois nouveaux records:

Exemples (MySQLi - Orienté Objet)

<? Php
$ Servername = "localhost";
$ Nom d'utilisateur = "username";
$ Password = "mot de passe";
$ Dbname = "myDB";

// Créer un lien
$ Conn = new mysqli ($ servername, $ username, $ password, $ dbname);
// Vérifier les liens
if ($ connect_error conn->) {
die ( "Échec de la connexion:" $ conn-> connect_error.);
}

$ Sql ​​= "INSERT INTO MyGuests (nom, prénom, email)
VALUES ( 'John', 'Doe' 'john@example.com',); ";
$ Sql. = "INSERT INTO MyGuests (nom, prénom, email)
VALUES ( 'Mary', 'Moe' 'mary@example.com',); ";
$ Sql. = "INSERT INTO MyGuests (nom, prénom, email)
VALUES ( 'Julie', 'Dooley', 'julie@example.com') ";

if ($ conn-> multi_query ($ sql) === TRUE) {
echo "Le nouvel enregistrement est inséré avec succès";
} Else {
. Echo "Erreur:" $ sql "<br>" $ conn-> erreur; fr
}

$ Conn-> close ();
?>

note Notez que chaque instruction SQL doit être séparé par un point-virgule.

Exemples (MySQLi - orienté processus)

<? Php
$ Servername = "localhost";
$ Nom d'utilisateur = "username";
$ Password = "mot de passe";
$ Dbname = "myDB";

// Créer un lien
$ Conn = mysqli_connect ($ servername, $ username, $ password, $ dbname);
// Vérifier les liens
if (! $ conn) {
die ( "Échec de la connexion:" mysqli_connect_error ().);
}

$ Sql ​​= "INSERT INTO MyGuests (nom, prénom, email)
VALUES ( 'John', 'Doe' 'john@example.com',); ";
$ Sql. = "INSERT INTO MyGuests (nom, prénom, email)
VALUES ( 'Mary', 'Moe' 'mary@example.com',); ";
$ Sql. = "INSERT INTO MyGuests (nom, prénom, email)
VALUES ( 'Julie', 'Dooley', 'julie@example.com') ";

if (mysqli_multi_query ($ conn, $ sql)) {
echo "Le nouvel enregistrement est inséré avec succès";
} Else {
. Echo "Erreur:" $ sql "<br>" mysqli_error ($ conn); fr
}

mysqli_close ($ conn);
?>


Des exemples de (AOP)

<? Php
$ Servername = "localhost";
$ Nom d'utilisateur = "username";
$ Password = "mot de passe";
$ Dbname = "myDBPDO";

try {
$ Conn = new PDO ( "mysql: host = $ servername; dbname = $ dbname", $ username, $ password);
// Définir le mode d'erreur PDO à exception
$ Conn-> setAttribute (PDO :: ATTR_ERRMODE, PDO :: ERRMODE_EXCEPTION);

// Démarre transaction
$ Conn-> beginTransaction ();
// Instruction SQL
$ Conn-> exec ( "INSERT INTO MyGuests (nom, prénom, email)
VALUES ( 'John', 'Doe' 'john@example.com',) ");
$ Conn-> exec ( "INSERT INTO MyGuests (nom, prénom, email)
VALUES ( 'Mary', 'Moe', 'mary@example.com') ");
$ Conn-> exec ( "INSERT INTO MyGuests (nom, prénom, email)
VALUES ( 'Julie', 'Dooley' 'julie@example.com',) ");

// Valider la transaction
$ Conn-> commit ();
echo "Le nouvel enregistrement est inséré avec succès";
}
catch (PDOException $ e)
{
// Si la restauration échoue
$ Conn-> rollback ();
fr Echo $ sql "<br>" $ e-> getMessage ();
}

$ Conn = null;
?>



Utilisez les instructions préparées

extension mysqli fournit une deuxième façon d'insérer des déclarations.

Nous avons préparé les états et les paramètres liés.

l'extension mysql peut transmettre des données sans une déclaration ou une requête à la base de données mysql. Vous pouvez associer ou variables "bind" aux colonnes.

Exemples (MySQLi utilisant des requêtes préparées)

<? Php
$ Servername = "localhost";
$ Nom d'utilisateur = "username";
$ Password = "mot de passe";
$ Dbname = "myDB";

// Création d'une connexion
$ Conn = new mysqli ($ servername, $ username, $ password, $ dbname);
// Test de connexion
if ($ connect_error conn->) {
die ( "Échec de la connexion:" $ conn-> connect_error.);
} Else {
$ Sql ​​= "INSERT INTO MyGuests VALUES (,, ???)";

// Pour mysqli_stmt_prepare () objets d'états d'initialisation
$ Stmt = mysqli_stmt_init ($ conn);

// Déclaration préparée
if (mysqli_stmt_prepare ($ stmt, $ sql)) {
// paramètres Bind
mysqli_stmt_bind_param ($ stmt, 'sss', $ prenom, $ lastname, $ email);

// Définir les paramètres et effectuer
$ Prenom = 'John';
$ Nom = 'Doe';
$ Email = 'john@example.com';
mysqli_stmt_execute ($ stmt);

$ Prenom = 'Mary';
$ Lastname = 'Moe';
$ Email = 'mary@example.com';
mysqli_stmt_execute ($ stmt);

$ Prenom = 'Julie';
$ Lastname = 'Dooley';
$ Email = 'julie@example.com';
mysqli_stmt_execute ($ stmt);
}
}
?>

Nous pouvons voir dans l'exemple ci-dessus en utilisant un système modulaire pour traiter le problème. Nous pouvons créer un bloc de code pour faciliter la lecture et la gestion.

Remarque paramètres liés. Regardons mysqli_stmt_bind_param () code:

mysqli_stmt_bind_param($stmt, 'sss', $firstname, $lastname, $email);

Les arguments de liaison à une requête et passer des paramètres à la base de données. Le deuxième paramètre est "sss". La liste suivante indique le type du paramètre. s caractère dit argument mysql est une chaîne.

Il peut être les quatre paramètres suivants:

  • i - entier
  • d - double précision nombre à virgule flottante
  • s - la chaîne
  • b - une valeur booléenne

Chaque type de paramètre doit être spécifié pour assurer la sécurité des données. Par type de jugement peut réduire le risque de SQL vulnérabilité d'injection.

PHP MySQL insérer plusieurs données
10/30