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() ?
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();
Merci pour votre aide !

T.