Bonjour,
J'observe dans le bloc suivant que la ligne "$query->free();" provoque une erreur lorsque la requête SELECT ne retourne aucun résultat. Si j'enlève cette ligne free, alors il n'y a plus d'erreur. Je me demande donc dans quelle mesure elle est importante : est-ce que la mémoire est libérée par le close() ?
Merci pour votre aide !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 $q = "SELECT listeUTILISATEURS.id FROM table_utilisateurs WHERE identifiant=? LIMIT 1;"; $query = $db->prepare($q); $query->bind_param('s', $username) ; if (!$query->execute()) throw new Exception("Execute error."); $query->store_result() ; $query->bind_result($user_id) ; $query->fetch(); $query->free(); // cette ligne produit une erreur lorsque SELECT ne renvoie aucun résultat. Pourquoi ?? $query->close(); $db->next_result();
T.
Partager