Page 1 sur 1

erreur allow_call_time_pass_reference

Posté : 05 févr. 2008, 15:06
par jpclutier
Bonjour,
J'ai un message d'erreur :

Code : Tout sélectionner

Warning: Call-time pass-by-reference has been deprecated; If you would like to pass it by reference, modify the declaration of odbc_fetch_array(). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file
Si je met la variable à On dans le php.ini le message disparait. Mais quelle serait la solution "plus propre" svp à utiliser ?
Merci.

Re: erreur allow_call_time_pass_reference

Posté : 05 févr. 2008, 15:21
par Calimero
Bonjour,
Mais quelle serait la solution "plus propre" svp à utiliser ?
Tout simplement virer le '&' là ou il te signale le problème. deprecated signifie obsolète ;-)

pass_reference

Posté : 05 févr. 2008, 16:58
par jpclutier
OK J'essayerai...dés que mon p..... de problème oci_connect sera résolu...
Merci.

Posté : 05 févr. 2008, 18:42
par titerm
La solution c'est de ne plus mettre le & lors de l'appel mais de déclarer la fonction comme prenant une référence.
function toto (&$param) {
}

toto($foo); // $foo est passé en ref

Posté : 07 févr. 2008, 10:21
par Calimero
La solution c'est de ne plus mettre le & lors de l'appel mais de déclarer la fonction comme prenant une référence.
function toto (&$param) {
}

toto($foo); // $foo est passé en ref
S'il s'agissait d'une fonction utilisateur, et si on était sous php4, oui. Mais là il s'agit d' odbc_fetch_array(), fonction interne sur laquelle jpclutier n'a pas le contrôle ;-) Il ne faut donc pas la redéclarer mais simplement supprimer le &.

Au passage, et sauf cas très particulier, l'opérateur & est superflu en php5.

Ton problème est-il résolu, jpclutier ?