Pour sécuriser les requête SQL faites avec PDO il faut binder les paramètre afin de s'assurer que les valeur des variable sont conformes à ce que l'on attend
$sql= "SELECT filmID, filmName, filmDescription, filmImage, filmPrice, filmReview FROM movies WHERE filmID = :filmID"; $stmt = $pdo->prepare($sql); $stmt->bindParam(':filmID', $filmID, PDO::PARAM_INT); $stmt->execute();
PDO::PARAM_BOOL (entier) Représente le type de données booléen.
PDO::PARAM_NULL (entier) Représente le type de données NULL SQL.
PDO::PARAM_INT (entier) Représente le type de données INTEGER SQL.
PDO::PARAM_STR (entier) Représente les types de données CHAR, VARCHAR ou les autres types de données sous forme de chaîne de caractères SQL.
PDO::PARAM_LOB (entier) Représente le type de données “objet large” SQL.
PDO::PARAM_STMT (entier) Représente un type de jeu de résultats. N'est actuellement pas supporté par tous les pilotes.
PDO::PARAM_INPUT_OUTPUT (entier) Spécifie que le paramètre est un paramètre INOUT pour une procédure stockée. Vous devez utiliser l'opérateur OR avec un type de données explicite PDO::PARAM_*.