Maison >base de données >tutoriel mysql >Comment insérer efficacement plusieurs valeurs de tableau de cases à cocher et de zones de texte dans une base de données MySQL à l'aide de PHP ?

Comment insérer efficacement plusieurs valeurs de tableau de cases à cocher et de zones de texte dans une base de données MySQL à l'aide de PHP ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-28 15:51:12284parcourir

How to Efficiently Insert Multiple Checkbox and Textbox Array Values into a MySQL Database Using PHP?

Insérer des données de tableau dans une base de données MySQL

En PHP, insérer plusieurs valeurs de tableau de cases à cocher et de zones de texte dans une base de données MySQL peut être difficile. Voici quelques problèmes rencontrés et leurs solutions :

Désalignement de la sélection des cases à cocher

Le problème d'affichage de toutes les valeurs des cases à cocher, même celles non marquées, provient d'une gestion incorrecte du tableau. Pour surmonter ce problème, indexez explicitement les noms des cases à cocher. Par exemple :

<input type="checkbox" name="checkbox[0]" value="17" />

Cela garantit une correspondance directe entre les index des cases à cocher et les valeurs d'article et de quantité correspondantes.

Insertion de base de données manquante

Malgré Lors de l'établissement d'une connexion à la base de données, il semble y avoir un problème avec l'insertion réelle des données. L'utilisation incorrecte des fonctions MySQL est identifiée comme coupable.

Les API MySQL et MySQL ne doivent pas être mélangées. Au lieu d'utiliser mysql_query, utilisez la méthode $conn->query() appropriée pour les opérations de base de données.

Exemple de code

$stmt = $conn->prepare("INSERT INTO purchases (Product, Quantity, Price) VALUES (?, ?, ?)");
$stmt->bind_param("sis", $name, $quantity, $price);

foreach ($_POST['checkbox'] as $i => $price) {
    $name = $_POST['name'][$i];
    $quantity = $_POST['quantity'][$i];
    $stmt->execute();
}

Considérations supplémentaires

  • Considérations supplémentaires
  • Stockez les prix dans la base de données au lieu du HTML pour éviter tout risque manipulation.
Utilisez des instructions préparées pour vous protéger contre l'injection SQL.Si vous utilisez MySQLi, remplacez $conn->query() par mysqli_query($conn, $query);.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn