Maison > Article > base de données > Pourquoi les données de mon formulaire PHP ne s'insèrent-elles pas dans MySQL ?
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!