2010-02-04 3 views

Antwort

25

die instanceof operator Versuchen, die is_a function oder get_class function:

$var instanceof MySQLi 
is_a($var, 'mysqli') 
is_object($var) && get_class($var) == 'mysqli' 
+0

seltsam ... keiner von denen gearbeitet ... und im das sicher eine Mysqli Objekt Ursache Ich mache einen mysqli_fetch_assoc darauf und es funktioniert..aber wenn ich ein if (is_a ($ var, 'mysqli') hinzufüge, wird nichts ausgegeben. noch wenn ich die anderen 2 benutze .. – ajsie

+4

@noname: Wenn du 'mysqli_fetch_assoc ($ var) 'then' $ var' ist kein MySQLi-Objekt, sondern eine MySQLi-Ergebnisressource (siehe http://php.net/resource) Das ist etwas anderes – Gumbo

3

Sie werden wahrscheinlich wollen die instanceof Operator.

Es funktioniert auch für abgeleitete Klassen, in dem seltsamen Fall, dass Sie Ihre eigenen Wrapper erweitern oder erstellen.

+0

Fein für Versionen PHP5 + –

+2

Ja Allgemein, außer ein Poster gibt PHP4 an Es ist davon auszugehen, dass sie heute PHP5 verwenden s PHP4 ist jetzt seit mehr als zwei Jahren tot. – zombat

5

Des Erbauer der Entscheidung von Gumbo funktioniert, aber in diesem Fall prüfen muß, wenn $ var Instanz MySQLi_Result, dh

$var instanceof mysqli_result; 
is_a($var, 'mysqli_result'); 
get_class($var) == 'mysqli_result';