2010-02-04 13 views

risposta

25

Provate il instanceof operator, la is_a function o get_class function:

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

strano ... nessuno di coloro che ha lavorato ... e sono sicuro che la sua causa un oggetto mysqli faccio un mysqli_fetch_assoc su di esso e funziona ... ma quando aggiungo un if (is_a ($ var, 'mysqli') non viene emesso nulla né quando io uso l'altro 2 .. – ajsie

+4

@noname: Se stai facendo 'mysqli_fetch_assoc ($ var) 'then' $ var' non è un oggetto MySQLi ma una risorsa risultato MySQLi (vedi http://php.net/resource) .Come è diverso – Gumbo

3

vorrete probabilmente l'operatore instanceof.

Funzionerà anche per le classi derivate, nel caso strano che estendiate o costruite i vostri wrapper.

+0

Fine per le versioni PHP5 + –

+2

Sì. Generalmente a meno che un poster non specifichi PHP4 , è sicuro presumere che stiano usando PHP5 al giorno d'oggi s. PHP4 è morto da più di due anni. – zombat

5

Тhe decisione del Gumbo funziona, ma in questo caso deve verificare se $ var è istanza di mysqli_result, cioè

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