Pour créer la connexion
try {
$db = new PDO("mysql:dbname=".DB_NAME.";host=".DB_HOST,DB_USER,DB_PWD);
} catch (PDOException $e) {
die("Database Connection Failed: " . $e->getMessage());
}
ensuite pour préparer une déclaration
$prep = $db->prepare("SELECT * FROM `users` WHERE userid = ':id'");
Comme vous pouvez le voir, vous l'étiquette de chaque paramètre que vous souhaitez en préfixant une chaîne avec « : ». Ensuite, tout ce que vous faites est de passer un tableau mappant le paramètre (: id) à la valeur lorsque vous exécutez.
if (!$prep->execute(array(":id" => $userinput))) {
$error = $prep->errorInfo();
echo "Error: {$error[2]}"; // element 2 has the string text of the error
} else {
while ($row = $prep->fetch(PDO::FETCH_ASSOC)) { // check the documentation for the other options here
// do stuff, $row is an associative array, the keys are the field names
}
}
Au lieu de PDO :: FETCH_ASSOC avec la fonction « chercher », il y a d'autres façons d'obtenir vos données. Vous pouvez utiliser fetchAll pour obtenir un tableau de TOUS les résultats en une fois au lieu de simplement aller ligne par ligne. Vous pouvez également obtenir le tableau d'informations sous la forme d'un tableau indexé 0 ou vous pouvez même extraire les résultats directement dans une instance de classe (si les noms des champs correspondent aux propriétés de la classe). PDO peut être trouvé ici: PHP.net PDO Manual
Je crois que vous n'avez pas besoin des guillemets autour d'un espace réservé: '" SELECT * FROM \ 'users \' WHERE userid =: id "' –