Exemple de requête préparée avec PHP5 et mysqli

Comme un exemple vaut mieux qu'un long discours, voici une illustration des requêtes préparées sous forme objet avec mysqli

Exemple

Le code ci-dessous (compatible version 4.1.13 ou plus récent) permet d'enregistrer en base de données tous les sites Internet qui pointent vers le votre. Il suffit juste de récupérer le REFERER. Bien sûr l'exemple ci-dessous ne suffit pas, des opérations de filtrage et de comparaison sont nécessaires pour éviter les doublons en base de données.

function saveToDatabase($referer)
{
    $mysqli = new mysqli('host', 'username', 'mdp', 'database');

    /* Vérification de la connexion */
   /* ecriture pas vraiment objet ici */
    if (mysqli_connect_errno()) {
        printf("Échec de la connexion : %s\\n", mysqli_connect_error());
        exit();
    }

    //requête
    $query = "INSERT INTO backlinks VALUES(NULL, NOW(), ?);";

    /* prépartion de la requête*/
    $stmt = $mysqli->prepare($query);

    /* liaison des variables */
    $stmt->bind_param('s',$referer);

    /* Exécution de la requête */
    $stmt->execute();

    printf("%d ligne(s) inseree(s).\\n", $stmt->affected_rows);

    /* Fermeture du traitement */
    $stmt->close();

    /* Fermeture de la connexion */
    $mysqli->close();
}

Note : La liaison des variables permet d'éviter des attaques de type injection sql. Pour plus de sécurité veuillez échappez/protégez la donnée entrante $referer.

Vus : 1162
Publié par Samuel Martin : 24