Modérateur PHPfrance |
10684 Messages
31 janv. 2010, 13:49
Moi ce que je fais souvent c'est de tester la valeur avant
Personnellement, je ne suis pas convaincu de l'intérêt de ce test... en effet, plus le nombre d'enregistrements de la table va être important, plus ce test va être lourd et long (bon ok, ça se compte en milisecondes

), alors que protéger ta variable se fait simplement et si l'info n'existe pas, tu le sais très rapidement :
<?php
if (isSet($_GET['id_page'])) {
// traitement pour protéger la variable avec real_escape, htmlentities et tout ce dont vous avez besoin
$idPage = protegeMaVariable($_GET['id_page']);
// Nota : si le champ id_page est numérique, il ne faut pas d'apostrophes pour délimiter la valeur
// mysql les tolèrera, mais pas les autres base de données. C'est donc une bonne habitude à prendre
$requete = "SELECT ... FROM commentaires WHERE id_page=" . $idPage . " ORDER BY ID DESC LIMIT 0,10";
$resultat_sql = mysql_query ($requete);
while ($resultat = mysql_fecth_assoc($resultat_sql)) { // on peut aisément tester s'il y a un résultat
//ok suite du script
}
else {
// pas Ok (essai de piratage ou erreur de l'utilisateur) : message d'erreur ou script par défaut
}
}
?>
Ca ne reste qu'un avis personnel

Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...