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 ?

Pourquoi les valeurs de mon formulaire ne sont-elles pas insérées dans ma base de données MySQL ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-11 18:32:02521parcourir

Why are my form values not being inserted into my MySQL database?

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é :

  • Ne stockez pas les mots de passe en texte clair. Utilisez password_hash pour stocker un hachage du mot de passe.

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!

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