come posso controllare se una variabile è di tipo oggetto mysqli?controlla se una variabile è di tipo oggetto mysqli?
risposta
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'
Date un'occhiata a get_class
vorrete probabilmente l'operatore instanceof.
Funzionerà anche per le classi derivate, nel caso strano che estendiate o costruite i vostri wrapper.
Fine per le versioni PHP5 + –
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
Т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';
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
@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