web-dev-qa-db-fra.com

Comment insérer dans MySQL en utilisant une instruction préparée avec PHP

J'apprends simplement les bases de données et je veux pouvoir stocker les entrées des utilisateurs. Quel serait un exemple de base sur la façon d'obtenir des données de formulaire et de les enregistrer dans une base de données en utilisant PHP?

Sécuriser également le formulaire de attaques SQL .

27
bammab

Fichier sample.html

<form action="sample.php" method="POST">
    <input name="sample" type="text">
    <input name="submit" type="submit" value="Submit">
</form>

Fichier sample.php

<?php
    if (isset($_POST['submit'])) {

        $mysqli = new mysqli('localhost', 'user', 'password', 'mysampledb');

        /* Check connection */
        if (mysqli_connect_errno()) {
            printf("Connect failed: %s\n", mysqli_connect_error());
            exit();
        }

        $stmt = $mysqli->prepare("INSERT INTO SampleTable VALUES (?)");
        $stmt->bind_param('s', $sample);   // Bind $sample to the parameter

        $sample = isset($_POST['sample'])
                  ? $_POST['sample']
                  : '';

        /* Execute prepared statement */
        $stmt->execute();

        printf("%d Row inserted.\n", $stmt->affected_rows);

        /* Close statement and connection */
        $stmt->close();

        /* Close connection */
        $mysqli->close();
    }
?>

Ceci est un exemple très basique. De nombreux développeurs PHP aujourd'hui se tournent vers PDO . Mysqli n'est pas obsolète, mais PDO l'est beaucoup plus facile, à mon humble avis.

26
Herbert