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
Libérer: 2024-11-28 15:51:12
original
216 Les gens l'ont consulté

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" />
Copier après la connexion

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();
}
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal