Breve

Bueno llevaba, y llevo bastante tiempo desconectado. Demasiadas cosas para hacer y tan poco tiempo. Asi que la hago corta.

Hoy me topé con un curioso problema en PHP 4, a ver si alguien me aclara si es un bug o que.

Esto no funciona:

function dbQuery($sql)
{
	return mysql_query($sql) or die(mysql_error().'<br />'.$sql);
}

Esto sí:

function dbQuery($sql)
{
	$res = mysql_query($sql) or die(mysql_error().'<br />'.$sql);
	return $res;
}

Lo bueno y breve dos veces bueno, o algo asi. Nos vemos

4 comments

  1. Hay un paréntesis que cierra… ¿dónde está el que abre?

  2. En la primera funcion devuelves el resultado de “A or B”, que es TRUE, y en la segunda devuelves el resultado de mysql_query. Es el problema de usar OR de ese modo, por eso prefiero usar siempre condicionales IF o “$A ? $B : $C”.

    Yo haría:

    function dbQuery($sql)
    {
    if(!$res = mysql_query($sql)) die(mysql_error().’.$sql);
    return $res;
    }

  3. Es verdad, bien visto. Yo no me habría dado cuenta en mil años. :D
    Gracias

Leave a comment