J'utilise des déclarations préparées depuis un certain temps déjà et je n'ai jamais eu de problèmes.
Maintenant, j'essaie de le faire :
$sql="SELECT PhotoID,Caption FROM Photos WHERE EntityID=? AND TypeID=? LIMIT ?,?";
$iDB = new mysqliDB(); // Extends mysqli
$stmt = $iDB->prepare($sql);
$stmt->bind_param('iiii',$entityID,$typeID,$minRange,$maxRange);
$stmt->execute();
$stmt->bind_result($photoID,$caption);
echo("Affected={$stmt->affected_rows}");
Cela imprime -1. J'ai testé trois fois que les 4 valeurs de bindParam sont définies, et que la requête sql fonctionne lorsqu'elle est collée dans myAdmin avec les valeurs respectives.
Une idée de la cause de ce problème ?
Edit: : J'ai trouvé la réponse en ligne, apparemment je dois utiliser $stmt->store_result() ; après l'exécution mais je ne suis pas sûr que ce soit nécessaire maintenant et jamais avant