Maison >base de données >tutoriel mysql >Pourquoi les valeurs de mon formulaire ne sont-elles pas insérées dans ma base de données MySQL ?
PHP : Insérer des valeurs du formulaire dans MySQL
L'insertion de valeurs d'un formulaire dans une base de données MySQL est une tâche courante pour le développement Web. En PHP, vous pouvez utiliser l'extension mysqli pour vous connecter à la base de données et exécuter des requêtes.
Cependant, si vous rencontrez des problèmes où les valeurs ne sont pas insérées dans la base de données, il est important de considérer les points suivants :
Requête déclarée mais non exécutée :
$sql = "INSERT INTO users (username, password, email) VALUES ('".$_POST["username"]."','".$_POST["password"]."','".$_POST["email"]."')";
Ce code déclare uniquement une variable de chaîne contenant la requête MySQL. Pour exécuter la requête, vous devez utiliser des fonctions telles que mysqli_query ou préparer une instruction à l'aide de mysqli_prepare, mysqli_bind_param et mysqli_execute.
Vulnérabilité d'injection SQL :
Ne jamais ajouter d'entrée utilisateur directement à votre requête. Cela peut conduire à des attaques par injection SQL, où les utilisateurs peuvent manipuler les entrées pour endommager votre base de données. Utilisez plutôt des instructions préparées pour vous protéger contre cette vulnérabilité.
Exemple de déclaration préparée :
$sql = "INSERT INTO users (username, password, email) VALUES (?,?,?)"; $stmt = $mysqli->prepare($sql); $stmt->bind_param("sss", $_POST['username'], $_POST['email'], $_POST['password']); $stmt->execute();
Considérations de sécurité :
N'oubliez pas que les entrées de l'utilisateur doivent toujours être traitées avec prudence et que des mesures de sécurité telles que des instructions préparées doivent être mises en œuvre pour éviter les vulnérabilités.
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!