Maison > base de données > tutoriel mysql > Comment insérer des données de formulaire dans MySQL à l'aide d'instructions préparées en PHP ?

Comment insérer des données de formulaire dans MySQL à l'aide d'instructions préparées en PHP ?

Patricia Arquette
Libérer: 2024-11-10 11:19:02
original
727 Les gens l'ont consulté

How to Insert Form Data into MySQL Using Prepared Statements in PHP?

PHP : Insertion de valeurs du formulaire dans MySQL

Problème

Vous avez créé une table de base de données et essayez d'insérer des valeurs à partir d'un HTML formez-y, mais la base de données reste vide. Le code déclare la requête SQL en tant que variable chaîne mais ne l'exécute pas, laissant la base de données inchangée.

Réponse

Pour insérer des valeurs à l'aide d'un formulaire, suivez ces étapes :

  1. Ne faites jamais confiance aux entrées de l'utilisateur : Les entrées des formulaires peuvent être manipulées, provoquant potentiellement des vulnérabilités d'injection SQL.
  2. Utilisez des instructions préparées : Elles vous permettent de spécifier des espaces réservés. pour les valeurs de l'instruction SQL, qui sont ensuite liées dynamiquement aux variables, empêchant ainsi les entrées malveillantes.
  3. Modifiez votre code PHP :
<?php

// Database configuration
include_once 'dbConfig.php';

if (isset($_POST['save'])) {
    // Prepare the statement
    $sql = "INSERT INTO users (username, password, email) VALUES (?,?,?)";
    $stmt = $mysqli->prepare($sql);

    // Bind the parameters to the statement
    $stmt->bind_param("sss", $_POST['username'], $_POST['email'], $_POST['password']);

    // Execute the statement
    $stmt->execute();

    // Close the statement
    $stmt->close();
}

?>
Copier après la connexion

Instruction préparée Notes

  • Des espaces réservés (?) sont utilisés pour la liaison de variables.
  • Utilisez bind_param pour lier des types de variables (par exemple, sss pour trois chaînes).
  • exécutez enfin les insertions les valeurs dans la base de données.

Sécurité des mots de passe

Notez que les mots de passe ne doivent jamais être stockés en texte clair. Utilisez plutôt password_hash pour stocker un hachage sécurisé du mot de passe.

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!

source:php.cn
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