Foros del Web » Programando para Internet » PHP »

[Duda]Error al cargar los datos desde bd mysql

Estas en el tema de [Duda]Error al cargar los datos desde bd mysql en el foro de PHP en Foros del Web. Haber por donde empiezo. Estoy haciendo una pequeña aplicacion web bastante sencilla.En una parte de la aplicacion hay una pantalla que mediante xajax muestra e ...
  #1 (permalink)  
Antiguo 14/04/2010, 06:01
 
Fecha de Ingreso: abril-2010
Mensajes: 4
Antigüedad: 13 años, 11 meses
Puntos: 0
[Duda]Error al cargar los datos desde bd mysql

Haber por donde empiezo.

Estoy haciendo una pequeña aplicacion web bastante sencilla.En una parte de la aplicacion hay una pantalla que mediante xajax muestra e inserta datos en la base de datos. Y el error surge al ir a mostrar los datos. Deberia ser sencillo de ver, pero concretamente esa pantalla es copy paste de otra que funciona bien, por que tanto la base de datos como el codigo y el diseño son completamente iguales salvo por los nombres de la tabla y los campos.

Para que os hagais una idea, aqui esta la pagina: lafuzone.no-ip.org/ysf/
Podeis usar el usuario "David" con contraseña "Lafuente"
El error esta en la pantalla "duelos"

Por lo demas, tambien os dejo el codigo, primero de la pantalla mensajes que funciona correctamente y despues de la de duelos.

----------------------------------MENSAJES----------------------------------------
Código:
<?php
session_start();
if($_SESSION['usuario']=="" || $_SESSION['usuario']==null ){
    header ("Location: index.php"); 
}
include_once("xajax/xajax_core/xajax.inc.php");
include_once("conexion.php");
include_once("funcionesComunes.php");
$xajax = new xajax();

$xajax->setCharEncoding('ISO-8859-1');
$xajax->setFlag("decodeUTF8Input",true);

function mensajes($tipo){
    $respuesta = new xajaxResponse();
    $usuario=$_SESSION['usuario']; 
    if ($tipo=="E"){
        $consulta="SELECT emisor,titulo FROM mensajes WHERE receptor=".$usuario;
    }else{
        $consulta="SELECT receptor,titulo FROM mensajes WHERE emisor=".$usuario;
    }
    $res=mysql_query($consulta);
    if(mysql_num_rows($res)>0 ){
        while($fila=mysql_fetch_array($res)){
            $resultado[sizeof($resultado)]=$fila;
        }
        for($i=0;$i<sizeof($resultado);$i++){
            $resultado[$i][0]=nombreUsuarioPorId($resultado[$i][0]);
        }      
    }else{
        $resultado="No hay mensajes";
        if ($tipo=="E"){
            $resultado.=" entrantes.";
        }else{
            $resultado.=" salientes.";
        }
    }
    $respuesta->setReturnValue($resultado);
    return $respuesta;   
}
function enviarMensaje($titulo,$destinatario,$mensaje){
    $respuesta = new xajaxResponse();
    $usuario=$_SESSION['usuario'];
    $destinatario=idUsuarioPorNombre($destinatario);
    if ($destinatario!="Usuario Inexistente"){
        $consulta="INSERT INTO mensajes (emisor,receptor,titulo,texto) VALUES (".$usuario.",".$destinatario.",'".$titulo."','".$mensaje."')";
        $res=mysql_query($consulta);
        $resultado="El mensaje se envio correctamente";       
    }else{
        $resultado="El nombre del destinatario no existe";    
    }
    $respuesta->setReturnValue($resultado);
    return $respuesta;   
}

$xajax->register(XAJAX_FUNCTION,"mensajes");
$xajax->register(XAJAX_FUNCTION,"enviarMensaje");
$xajax->processRequest();
?>
<html>
<head>
<title>--Yo Soy Friki--Mensajes <?php echo nombreUsuarioPorId($_SESSION['usuario']); ?></title>
<script language="javascript" type="text/javascript" src="javascript.js"></script>
<?
$xajax->printJavascript("xajax");
?>
</head>
<body>
<div id="menu">
<input type="button" value="Entrada" onclick="mostrarMensajesEntrada()" /><input type="button" value="Salida" onclick="mostrarMensajesSalida()" /><input type="button" value="Nuevo" onclick="nuevoMensaje()"/><br />
</div>
<div id="bandeja">
</div>
</body>
</html>
---------------------------------------------------------------------------------------

-----------------------------------DUELOS------------------------------------------
Código:
<?php
session_start();
if($_SESSION['usuario']=="" || $_SESSION['usuario']==null ){
    header ("Location: index.php"); 
}
include_once("xajax/xajax_core/xajax.inc.php");
include_once("conexion.php");
include_once("funcionesComunes.php");
$xajax = new xajax();

$xajax->setCharEncoding('ISO-8859-1');
$xajax->setFlag("decodeUTF8Input",true);

function duelos($tipo){
    $respuesta = new xajaxResponse();
    $usuario=$_SESSION['usuario'];
    
    $consulta="SELECT retante,retado,titulo,aceptado FROM duelos ";  
    if ($tipo=="E"){
        $consulta.="WHERE aceptado=0 AND retado=".$usuario;
    }else{
       if ($tipo=="S"){
            $consulta.="WHERE aceptado=0 AND retante=".$usuario;
        }else{
            $consulta.="WHERE aceptado=1 and (retado=".$usuario." OR retante=".$usuario.")";
        }
    }
    $respuesta->alert($consulta);
    $res=mysql_query($consulta);
    $respuesta->alert($res);
    if($res!=false && $res!=null){
        if(mysql_num_rows($res)>0 ){
            while($fila=mysql_fetch_array($res)){
                $resultado[sizeof($resultado)]=$fila;
            }
            for($i=0;$i<sizeof($resultado);$i++){
                $resultado[$i][0]=nombreUsuarioPorId($resultado[$i][0]);
            }      
        }else{
            $resultado="No hay duelos";
            if ($tipo=="E"){
                $resultado.=" entrantes.";
            }else{
                if ($tipo=="S"){
                    $resultado.=" salientes.";
                }else{
                    $resultado.=" en curso.";
                }
            }
        }
    }else{
        $resultado="Error en la base de datos.";
        mysql_query("INSERT INTO errorLog (fecha,error) VALUES (getdate(),".mysql_error().")");
    }
    $respuesta->setReturnValue($resultado);
    return $respuesta;   
}
function enviarDuelo($titulo,$destinatario,$mensaje){
    $respuesta = new xajaxResponse();
    $usuario=$_SESSION['usuario'];
    $destinatario=idUsuarioPorNombre($destinatario);
    if ($destinatario!="Usuario Inexistente"){
        $consulta="INSERT INTO duelos (retante,retado,titulo,texto) VALUES (".$usuario.",".$destinatario.",'".$titulo."','".$mensaje."')";
        $res=mysql_query($consulta);
        $resultado="El duelo se envio correctamente";       
    }else{
        $resultado="El nombre del destinatario no existe";    
    }
    $respuesta->setReturnValue($resultado);
    return $respuesta;   
}

$xajax->register(XAJAX_FUNCTION,"duelos");
$xajax->register(XAJAX_FUNCTION,"enviarDuelo");
$xajax->processRequest();
?>
<html>
<head>
<title>--Yo Soy Friki--Duelos <?php echo nombreUsuarioPorId($_SESSION['usuario']); ?></title>
<script language="javascript" type="text/javascript" src="javascript.js"></script>
<?
$xajax->printJavascript("xajax");
?>
</head>
<body>
<div id="menu">
<input type="button" value="Recibidos" onclick="mostrarDuelosEntrada()" /><input type="button" value="Enviados" onclick="mostrarDuelosSalida()" /><input type="button" value="En Curso" onclick="mostrarDuelosCurso()" /><input type="button" value="Retar" onclick="nuevoDuelo()"/><br />
</div>
<div id="bandeja">
</div>
</body>
</html>
---------------------------------------------------------------------------------------

Lo unico raro que encontre es la respuesta que devuelve el mysql_query, que devuelve esto
" : htmlspecialchars() expects parameter 1 to be string, resource given in on line
Resource id #22"

Si necesitais cualquier otro dato me decis y a ver si hay suerte y me podeis almenos orientar un poco

Muchisimas gracias
  #2 (permalink)  
Antiguo 14/04/2010, 06:30
Avatar de eulloa  
Fecha de Ingreso: octubre-2007
Ubicación: Donde caiga la noche, si mi hijo me deja
Mensajes: 691
Antigüedad: 16 años, 5 meses
Puntos: 5
Respuesta: [Duda]Error al cargar los datos desde bd mysql

Pues el mismo error te lo dice, estás pasando un parámetro erróneo a htmlspecialschar(). Debes revizar esto, te confieso no busqué mucho la línea donde usas la función.
  #3 (permalink)  
Antiguo 14/04/2010, 07:51
 
Fecha de Ingreso: abril-2010
Mensajes: 4
Antigüedad: 13 años, 11 meses
Puntos: 0
Respuesta: [Duda]Error al cargar los datos desde bd mysql

Si, la verdad es que ya me percate de eso, pero esa funcion es de xajax y no encontre ninguna solucion clara...
  #4 (permalink)  
Antiguo 14/04/2010, 11:03
Avatar de eulloa  
Fecha de Ingreso: octubre-2007
Ubicación: Donde caiga la noche, si mi hijo me deja
Mensajes: 691
Antigüedad: 16 años, 5 meses
Puntos: 5
Respuesta: [Duda]Error al cargar los datos desde bd mysql

Postea la línea 22
  #5 (permalink)  
Antiguo 15/04/2010, 02:38
 
Fecha de Ingreso: abril-2010
Mensajes: 4
Antigüedad: 13 años, 11 meses
Puntos: 0
Respuesta: [Duda]Error al cargar los datos desde bd mysql

Esta posteada ya, donde el codigo de duelos.
es la "if ($tipo=="S"){"

De todas maneras, si lo comentas por lo de resource id# 22, si no me equivoco eso es el resultado del mysql_query.

¿Te seria mas facil si subo todo el codigo y la base de datos para descargar y probarlo?

Etiquetas: bd, mysql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:40.