亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

PHP MySQL insère plusieurs éléments de données

Nous avons appris comment ajouter des données au tableau de données dans la section précédente, une par une. Pouvons-nous ajouter plusieurs éléments de données à la fois ? de données à la fois. La fonction


mysqli_multi_query() peut être utilisée pour exécuter plusieurs instructions SQL.


Regardons-le directement avec un exemple

Instance

Ajout de trois nouveaux enregistrements à notre précédente table "MyGuests"?:

<?php
 header("Content-type:text/html;charset=utf-8");    //設置編碼
 $servername = "localhost";
 $username = "root";
 $password = "root";
 $dbname = "test";
 
 // 創(chuàng)建鏈接
 $conn = mysqli_connect($servername, $username, $password, $dbname);
 // 檢查鏈接
 if (!$conn) {
     die("連接失敗: " . mysqli_connect_error());
 }
 
 $sql = "INSERT INTO MyGuests (firstname, lastname, email)
 VALUES ('tom', 'Doe', '12032047@asd.com');";
 $sql .= "INSERT INTO MyGuests (firstname, lastname, email)
 VALUES ('Mary', 'Moe', 'mary@example.com');";
 $sql .= "INSERT INTO MyGuests (firstname, lastname, email)
 VALUES ('Julie', 'Dooley', 'julie@example.com')";
 
 if (mysqli_multi_query($conn, $sql)) {
     echo "新記錄插入成功";
 } else {
     echo "Error: " . $sql . "<br>" . mysqli_error($conn);
 }
 
 mysqli_close($conn);
 ?>

Résultats en cours d'exécution du programme?:

Nouveaux enregistrements insérés avec succès

ouvrez votre tableau de données et jetez un ?il?:

Y a-t-il trois nouvelles données??


Utilisation d'instructions préparées

L'extension mysqli fournit une deuxième fa?on d'insérer des instructions.

Nous pouvons préparer des déclarations et lier des paramètres.

L'extension mysql peut envoyer des instructions ou des requêtes à la base de données mysql sans données. Vous pouvez associer ou ? lier ? de manière nématique des variables.

Instance

Utiliser les instructions préparées

<?php
 header("Content-type:text/html;charset=utf-8");    //設置編碼
 $servername = "localhost";
 $username = "root";
 $password = "root";
 $dbname = "test";
 
 // 創(chuàng)建連接
 $conn = new mysqli($servername, $username, $password, $dbname);
 // 檢測連接
 if ($conn->connect_error) {
     die("連接失敗: " . $conn->connect_error);
 } else {
     $sql = "INSERT INTO MyGuests VALUES(?, ?, ?)";
 
     // 為 mysqli_stmt_prepare() 初始化 statement 對象
     $stmt = mysqli_stmt_init($conn);
 
     //預處理語句
     if (mysqli_stmt_prepare($stmt, $sql)) {
         // 綁定參數(shù)
         mysqli_stmt_bind_param($stmt, 'sss', $firstname, $lastname, $email);
 
         // 設置參數(shù)并執(zhí)行
         $firstname = 'liu';
         $lastname = 'Doe';
         $email = 'john@example.com';
         mysqli_stmt_execute($stmt);
 
         $firstname = 'zhang';
         $lastname = 'Moe';
         $email = 'mary@example.com';
         mysqli_stmt_execute($stmt);
 
         $firstname = 'li';
         $lastname = 'Dooley';
         $email = 'julie@example.com';
         mysqli_stmt_execute($stmt);
     }
 }
 ?>

Utiliser des instructions préparéesVALUES n'est pas suivi de données spécifiques, mais de ? Au lieu de cela, combien sont-ils en haut?? , l'instruction de prétraitement mysqli_stmt_bind_param($stmt, 'sss', $firstname, $lastname, $email), le deuxième paramètre doit avoir plusieurs "s", et le deuxième paramètre représente le type de données?: s représente un cha?ne, et il existe les types suivants?:

· i - entier

· d - nombre à virgule flottante double précision

· s - cha?ne

· b - Valeur booléenne

Qu'est-ce que cela signifie ? Par exemple, lorsque nous créons une table, le champ prénom utilise le type VARCHAR, il doit donc être "S" si nous construisons une table. Le champ prénom est de type int, il doit être "i".

Chaque paramètre doit préciser un type pour assurer la sécurité des données. Le jugement de type peut réduire le risque de vulnérabilités d’injection SQL.

Expliquons les instructions préparées par PHP dans la section suivante.


Formation continue
||
<?php header("Content-type:text/html;charset=utf-8"); //設置編碼 $servername = "localhost"; $username = "root"; $password = "root"; $dbname = "test"; // 創(chuàng)建鏈接 $conn = mysqli_connect($servername, $username, $password, $dbname); // 檢查鏈接 if (!$conn) { die("連接失敗: " . mysqli_connect_error()); } $sql = "INSERT INTO MyGuests (firstname, lastname, email) VALUES ('tom', 'Doe', '12032047@asd.com');"; $sql .= "INSERT INTO MyGuests (firstname, lastname, email) VALUES ('Mary', 'Moe', 'mary@example.com');"; $sql .= "INSERT INTO MyGuests (firstname, lastname, email) VALUES ('Julie', 'Dooley', 'julie@example.com')"; if (mysqli_multi_query($conn, $sql)) { echo "新記錄插入成功"; } else { echo "Error: " . $sql . "<br>" . mysqli_error($conn); } mysqli_close($conn); ?>
soumettreRéinitialiser le code