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
Libérer: 2024-11-11 18:32:02
original
566 Les gens l'ont consulté

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"]."')";
Copier après la connexion

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

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