Bonjour à toutes et tous !
Je travaille actuellement à ré-écrire le CMS PwsPHP 1.2.3 pour remplacer les requêtes simple ( et sujet au SQL Injection ) par l'utilisation de paramètres bindé !
Tout ce passe trés bien, sauf pour un cas :
Dés qu'il y a un LIMIT avec paramètres bindé à la fin de la requête SQL.
Par exemple, pour ce code :
/* Crée une requête préparée */ if ( $stmt = $mysqli->prepare("SELECT id, titre, auteur, date FROM forum WHERE id = ? LIMIT ?, ?") ) { /* Lecture des paramètres de marques */ $stmt->bind_param("iii", $id, $debut, $fin); /* Exécution de la requête */ $stmt->execute(); /* Lecture des variables résultantes */ $stmt->bind_result( $id, $titre, $auteur, $date); $stmt->fetch(); echo "Id : ".$id." Titre : ".$titre." Auteur : ".$auteur." Date : ".$date."<br />"; /* Fermeture du traitement */ $stmt->close(); } else { echo "Erreur SQL : ".$mysqli->error."<br />"; }
Et l'erreur est :
Donc si je remplace par des valeurs en dur dans le LIMIT ca fonctionne.
Donc, comment ca se fait ??
Et comment résoudre ca ??
Merci par avance !!