Referenzübergabe Problem mit PHP 5.3.1

Ok, das ist ein seltsames Problem, bitte nehmen Sie es mit mir, wenn ich es erkläre.

Wir haben unsere Entwickler-Server von PHP 5.2.5 auf 5.3.1 aktualisiert.

Wenn wir unseren Code nach dem Wechsel laden, bekommen wir Fehler wie:

Warning: Parameter 2 to mysqli_stmt::bind_param() expected to be a reference, value given in /home/spot/trunk/system/core/Database.class.php on line 105

Die erwähnte Zeile (105) lautet wie folgt:

call_user_func_array(Array($stmt, 'bind_param'), $passArray);

Wir haben die Zeile folgendermaßen geändert:

call_user_func_array(Array($stmt, 'bind_param'), &$passArray);

an diesem Punkt (weilallow_call_time_pass_reference) ist ausgeschaltet, PHP wirft dies:

Deprecated: Call-time pass-by-reference has been deprecated in /home/spot/trunk/system/core/Database.class.php on line 105

Nachdem ich versucht hatte, dies für einige Zeit zu beheben, brach ich zusammen und stellte einallow_call_time_pass_reference auf.

Das hat die losgewordenDeprecated Warnung, aber jetzt dieWarning: Parameter 2 to mysqli_stmt::bind_param() expected to be a reference warnung wirft jedes mal,mit oder ohne die Referenzierung.

Ich habe keine Ahnung, wie ich das beheben soll. Wenn die Zielmethode meine eigene wäre, würde ich nur auf die eingehenden Variablen in der func-Deklaration verweisen, aber es ist eine (relativ) native Methode (mysqli).

Hat das jemand erlebt? Wie kann ich das umgehen?

Vielen Dank.

Antworten auf die Frage(9)

Ihre Antwort auf die Frage