Maison  >  Article  >  base de données  >  Pourquoi les données de mon formulaire PHP ne s'insèrent-elles pas dans MySQL ?

Pourquoi les données de mon formulaire PHP ne s'insèrent-elles pas dans MySQL ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-11 20:59:03675parcourir

Why is My PHP Form Data Not Inserting into MySQL?

PHP : insertion de valeurs du formulaire dans MySQL sans utiliser d'instructions préparées

Malgré la création de la table des utilisateurs dans MySQL et la définition des fichiers dbConfig et Index.php, vous Vous rencontrez un problème où les données ne sont pas insérées dans la base de données lorsque vous cliquez sur le bouton Enregistrer.

Le code fourni récupère les valeurs du formulaire en utilisant $_POST mais déclare uniquement une chaîne de requête INSERT dans la ligne suivante :

$sql = "INSERT INTO users (username, password, email)
        VALUES ('".$_POST["username"]."','".$_POST["password"]."','".$_POST["email"]."')";

Ce code n'exécute pas réellement la requête. Pour exécuter des requêtes MySQL, vous pouvez utiliser la fonction mysqli_query :

mysqli_query($mysqli, $sql);

Cependant, cette approche est vulnérable aux attaques par injection SQL. Il est essentiel d'utiliser des instructions préparées lors du traitement des entrées utilisateur afin d'éviter toute manipulation malveillante des données.

Voici un exemple utilisant des instructions préparées :

$sql = "INSERT INTO users (username, password, email)
    VALUES (?,?,?)";
$stmt = $mysqli->prepare($sql);
$stmt->bind_param("sss", $_POST['username'], $_POST['password'], $_POST['email']);
$stmt->execute();

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