J'ai un tableau assoc rempli avec les valeurs nécessaires pour un PDOstatement. Devrais-je lier chaque valeur puis appeler execute? Ou appelez exécuter en lui passant le tableau de valeurs?Doit-on lier des entrées de tableau individuelles ou simplement exécuter le tableau avec PDO?
Array(
[name] => Joe
[value] => some content
)
Dois-je:
foreach($data as $key => $value){
$statement->bindValue($key, $value);
}
execute();
OU
execute($data);
Pour autant que je sache, lier les données ne certaine forme d'assainissement des données similaires à mysql_real_escape_string
. Je ne sais pas si j'ai besoin de lier les valeurs pour atteindre cet effet ou si je peux juste passer le tableau de données à execute() et supposer qu'il a été correctement échappé?
attends, je pensais que c'était les avantages de l'utilisation des fonctions de préparation et de liaison. Dois-je utiliser mysql_real_escape_string sur les données avant de les lier? Est-ce que PDO utilise mysql_connect() à un moment donné pour que mysql_real_escape_string fonctionne? –
Je ne sais pas, je n'utilise pas mysql_real_escape_string car ce n'est plus nécessaire: Une instruction préparée prépare l'instruction afin que toutes les données que vous entrez en tant que variable soient réellement considérées comme une variable et non comme une partie d'une instruction mysql . – jeroen
Alors la préparation de l'instruction échappe d'une manière ou d'une autre aux données de sorte que mySQL traite la valeur/variable liée en tant que donnée? Sinon, je supposerais que l'échappement des données serait toujours nécessaire. –