Comunidad de diseño web y desarrollo en internet online

Use of undefined constant boolean - assumed 'boolean'

Citar            
MensajeEscrito el 30 Abr 2015 09:29 am
Hola amigos tengo un problemilla que no se dé que puede ser.

Tengo el siguiente codigo $res = mysqli_query($link,$sql); el cual reutilizo constantemente pasándole consultas tanto de insert,update,delete y select, por lo que $res puede contener a veces un string, un obj mysqli_result, o un obj boolean.

Por lo tanto necesito identificar el resource, una de las primeras comprobaciones que necesito, es saber si es un objeto boolean, "no necesito comprobar si me devuelve un string como true o false si no si es un objeto boolean", es decir necesito diferenciar entre si me devuelve un objeto mysqli_result, o un string como "true" o "false" o un objeto boolean, tras mucho probar el único código que me funciona correctamente en el hosting en el que estoy para comprobar si el resource de una consulta mysqli es un objeto Boolean es el siguiente:

if(gettype($res) == boolean){

}else{

}
El problema es que cuando he decidido trasladar los archivos a otro servidor el código me da el siguiente error:

Use of undefined constant boolean - assumed 'boolean'

Me huelo que puede ser por la versión de php pero no estoy seguro, alguien tiene alguna idea, solución o alternativa que funcione en cualquier versión de php?

Por giskard

110 de clabLevel



Genero:Masculino  

Programador y diseñador web

firefox
Citar            
MensajeEscrito el 30 Abr 2015 12:12 pm
No existen "objetos boolean".

Lo que tú quieres saber es si la variable es de tipo booleano. Para eso hay una función: is_bool()

La función gettype devuelve un string, no una constante. Así que la comparación que estás haciendo debe ser así:

Código PHP :

if(gettype($res) == "boolean"){ ...


Saludos.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 30 Abr 2015 01:15 pm
ok, pues lo estaba haciendo mal, creía que estaba comparando contra una constante de clase o tipo, al parecer en el otro server no se me mostraban los warnings y por eso creí que funcionaba.

Supongo que para el mismo fin sirve tanto gettype($res) == "boolean" como is_bool($res) no?

Gracias driverOp

Por giskard

110 de clabLevel



Genero:Masculino  

Programador y diseñador web

firefox
Citar            
MensajeEscrito el 04 May 2015 12:08 pm
Pra el caso que estás exponiendo sí.

Por DriverOp

Claber

2510 de clabLevel



 

opera

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.