2010-02-04 13 views

Respuesta

25

Prueba el instanceof operator, el is_a function o la get_class function:

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

raro ... ninguno de los trabajado ... y estoy seguro que es un objeto causa mysqli hago un mysqli_fetch_assoc en él y funciona ... pero cuando agrego un if (is_a ($ var, 'mysqli') no se emite nada, ni cuando uso los otros 2 .. – ajsie

+4

@noname: Si lo haces 'mysqli_fetch_assoc ($ var) 'then' $ var' no es un objeto MySQLi sino un recurso de resultado MySQLi (ver http://php.net/resource). Eso es algo diferente. – Gumbo

3

es probable que desee el operador instanceof.

Funcionará también para las clases derivadas, en el extraño caso de que extienda o construya sus propios contenedores.

+0

Bien para las versiones PHP5 + –

+2

Sí. Generalmente a menos que un cartel especifique PHP4 , es seguro suponer que están usando PHP5 estos días s. PHP4 ha estado muerto ahora por más de dos años. – zombat

5

decisión Тhe de Gumbo funciona, pero en este caso se debe comprobar si $ var es instancia de mysqli_result, es decir

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