call_user_func_array, Übergabe von Param 1 im OOP-Kontext, PHP 5.2.1 - Fehler

Igäl

Erfahrenes Mitglied
Tag Leute

Heute wollte ich einen ersten Release meiner Page von der Entwicklungsumgebung (PHP 5.3.0) auf die produktive Umgebung (PHP 5.2.1) migrieren.

Dabei wurde mir eine Fehlermeldung ausgegeben, welche ich zwar verstehe aber nicht weiss, warum der Fehler auftritt:

Warning: call_user_func_array() [function.call-user-func-array]: First argument is expected to be a valid callback, 'Array' was given in [...]public_html/libs/core/Mysql.class.php on line 276

Diese Line sieht folgendermassen aus:

PHP:
call_user_func_array(array($res, "bind_param"), $ref_arr);

Nun: PHP 5.3.0 (Entwicklung) erkennt die Funktion die per Callback aufgerufen werden soll, PHP 5.2.1 (produktiv) kann mit dem Ausdruck array($res, "bind_param") nichts anfangen. Was ist hier das Problem? Kennt jemand ein funktionierendes Workaround?

Danke und Grüsse

Igäl
 
Dankeschön. Ich wusste noch gar nicht, dass man seit PHP 5 reverse engeneering betreiben kann :) Der Fehler war aber an einer anderen Stelle:

$res sollte eine Instanz von MySQLi::STMT sein. Da der Query aber nicht korrekt ausgeführt wurde, wurde durch MySQLi_prepare() kein gültiges Objekt zurückgegeben. Das Problem lag an meinen mangelnden Debugging-Ausgaben.

Danke und sorry für die Denkarbeit die ich bereitet habe :)

So long, Greetz Igäl
 
Zurück