Appel requete preparee hors zone
Salut all,
J'ai un probleme avec une requete preparee qui fonctionne sans probleme, mais que je n'arrive pas a controler quand elle est hors zone.
Je m'explique
Disons que j'ai une table avec 100 enregistrements et une requete sql pour afficher les informations d'1 enregistrement par $val_numid
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| $sql = 'SELECT *
FROM ' . MA_TABLE . '
WHERE table_id = ?';
$stmt = mysqli_prepare($ConnexionBdD, $sql);
mysqli_stmt_bind_param($stmt, 'i', $val_numid);
mysqli_stmt_execute($stmt);
$leresultat = mysqli_stmt_get_result($stmt);
if ($leresultat)
{
while($row = mysqli_fetch_assoc($leresultat))
{
// ici la procedure d'affichage
}
else
{ // ici pas de resultat (enfin normalement mais ne viens jamais) }
mysqli_stmt_close($stmt); |
Alors tout est ok si $val_numid est entre 1 et 100.
Mais si je definis $val_numid avec une valeur hors zone (disons 200), je n'ai pas d'erreur car $leresultat n'est pas vide avec ces infos (object(mysqli_result)#6 (5) { ["current_field"]=> int(0) ["field_count"]=> int(41) ["lengths"]=> NULL ["num_rows"]=> int(0) ["type"]=> int(0) })
Et ca m'affiche une page vierge de donnees (hors template)
Donc ma question : Comment faire pour éviter cela et/ou savoir si $leresultat est bien vide ou pas ?
En vous remerciant par avance.