Bonjour,
J'ai une question sur le paramètre fetchType de sqlsrv_fetch_array() :
J'utilise ce code :
Lors de l'appel à ce code, je veux passer dans la variable $type une de ces constances :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 while ( $row = sqlsrv_fetch_array($q, $type) ) { // $q est le retour de sqlsrv_query() $result[] = $row; }
SQLSRV_FETCH_ASSOC
SQLSRV_FETCH_BOTH
SQLSRV_FETCH_NUMERIC
Or passer une string (comme dans l'exemple) provoque une erreur :
Si je mets directement la constante SQLSRV_FETCH_xxx, cela fonctionne bien. C'est vraiment la string qui coince, même si elle est de la même valeur que les constantes. Sauf que je ne vois pas pourquoi je devrais passer un type "long"Warning : sqlsrv_fetch_array() expects parameter 2 to be long, string given
Je voudrais savoir si ce comportement était normal à vos yeux : on ne peux donc pas stocker dans une variable la valeur d'une constante ? Valeur qui bougerait selon le cas...
Pour info, j'ai réussi à utiliser la fonction en passant un entier 1, 2 ou 3 à la place des constantes, comme l'indique la déclaration de la fonction dans la doc. Mais j'aurai préféré conserver la variable avec la donnée textuelle plutôt qu'un entier qui n'est pas explicite en lui-même.
Merci pour vos avis
Partager