Wie überprüfe ich, ob eine Variable vom Typ mysqli object ist?überprüfen, ob eine Variable vom Typ mysqli object ist?
Antwort
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'
Werfen Sie einen Blick auf get_class
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.
Fein für Versionen PHP5 + –
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
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';
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
@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