Latest web development tutorials
×

PHP cours

PHP cours PHP Brève introduction PHP installer PHP grammaire PHP variable PHP echo/print PHP Types de données PHP constante PHP chaîne PHP opérateurs PHP If...Else PHP Switch PHP tableau PHP Tri d'un tableau PHP Superglobales PHP While circulation PHP For circulation PHP fonction PHP Variables magiques PHP Namespaces PHP Object-Oriented

PHP forme

PHP forme PHP Authentification Forms PHP forme - Les champs obligatoires PHP forme - email de vérification et d'URL PHP Complète instance de formulaire PHP $_GET variable PHP $_POST variable

PHP Tutorial avancée

PHP Les tableaux multidimensionnels PHP date PHP contenir PHP fichier PHP File Upload PHP Cookie PHP Session PHP E-mail PHP sécurité E-mail PHP Error PHP Exception PHP filtre PHP filtre avancé PHP JSON

PHP 7 Nouvelles fonctionnalités

PHP 7 Nouvelles fonctionnalités

PHP Base de données

PHP MySQL Brève introduction PHP MySQL raccordement PHP MySQL La création d'une base de données PHP MySQL Créer une table de données PHP MySQL Insérer des données PHP MySQL Insérez des données multiples PHP MySQL Déclarations préparées PHP MySQL Lire les données PHP MySQL WHERE PHP MySQL ORDER BY PHP MySQL UPDATE PHP MySQL DELETE PHP ODBC

PHP XML

XML Expat Parser XML DOM XML SimpleXML

PHP & AJAX

AJAX Brève introduction AJAX PHP AJAX Base de données AJAX XML AJAX Recherche en temps réel AJAX RSS Reader AJAX vote

PHP Manuel de référence

PHP Array PHP Calendar PHP cURL PHP Date PHP Directory PHP Error PHP Filesystem PHP Filter PHP FTP PHP HTTP PHP Libxml PHP Mail PHP Math PHP Misc PHP MySQLi PHP PDO PHP SimpleXML PHP String PHP XML PHP Zip PHP Timezones PHP Traitement de l'image PHP RESTful

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' '[email protected]',); ";
$ Sql. = "INSERT INTO MyGuests (nom, prénom, email)
VALUES ( 'Mary', 'Moe' '[email protected]',); ";
$ Sql. = "INSERT INTO MyGuests (nom, prénom, email)
VALUES ( 'Julie', 'Dooley', '[email protected]') ";

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

$ 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' '[email protected]',); ";
$ Sql. = "INSERT INTO MyGuests (nom, prénom, email)
VALUES ( 'Mary', 'Moe' '[email protected]',); ";
$ Sql. = "INSERT INTO MyGuests (nom, prénom, email)
VALUES ( 'Julie', 'Dooley', '[email protected]') ";

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

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' '[email protected]',) ");
$ Conn-> exec ( "INSERT INTO MyGuests (nom, prénom, email)
VALUES ( 'Mary', 'Moe', '[email protected]') ");
$ Conn-> exec ( "INSERT INTO MyGuests (nom, prénom, email)
VALUES ( 'Julie', 'Dooley' '[email protected]',) ");

// Valider la transaction
$ Conn-> commit ();
echo "Le nouvel enregistrement est inséré avec succès";
}
catch (PDOException $ e)
{
// Si la restauration échoue
$ Conn-> rollback ();
.. 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 = '[email protected]';
mysqli_stmt_execute ($ stmt);

$ Prenom = 'Mary';
$ Lastname = 'Moe';
$ Email = '[email protected]';
mysqli_stmt_execute ($ stmt);

$ Prenom = 'Julie';
$ Lastname = 'Dooley';
$ Email = '[email protected]';
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.