Foros del Web » Programando para Internet » PHP »

Consulta con esta funcion()

Estas en el tema de Consulta con esta funcion() en el foro de PHP en Foros del Web. Siento no ser muy descriptivo con el titulo, pero bueno tengo un problema para mi bien raro. ---- Bueno el problema es el siguiente tengo ...
  #1 (permalink)  
Antiguo 21/11/2009, 20:06
Avatar de xalupeao  
Fecha de Ingreso: mayo-2008
Ubicación: Santiago, Chile
Mensajes: 749
Antigüedad: 15 años, 10 meses
Puntos: 12
Consulta con esta funcion()

Siento no ser muy descriptivo con el titulo, pero bueno tengo un problema para mi bien raro.

----

Bueno el problema es el siguiente tengo un funcion que hace esto dentro de ella:

Código PHP:
$query="\xFF\xFF\xFF\xFFTSource Engine Query\x00";
fwrite($fp$query); 
Asi todo funciona perfecto, pero si entento obtener la query desde una tabla de base de datos, no la toma para nada.

Código PHP:
$row=mysql_fetch_array(mysql_query("SELECT query FROM tabla WHERE id='1'"));
$query $row['query'];
fwrite($fp$query); 
¿porque no toma?, si en teoria estaria bien ... ¿el campo "query" es varchar y la salida es correcta, es decir, print $query; sale perfecto. :S

Gracias.

Última edición por xalupeao; 21/11/2009 a las 20:17
  #2 (permalink)  
Antiguo 21/11/2009, 20:12
Avatar de Sommy  
Fecha de Ingreso: septiembre-2008
Mensajes: 228
Antigüedad: 15 años, 6 meses
Puntos: 6
Respuesta: Consulta con esta funcion()

Te falta hacer el fetch... Osea convertir el resultado de la consulta en un array
__________________
Si aún lo llevas, dejalo...
Programador PHP argentina
  #3 (permalink)  
Antiguo 21/11/2009, 20:22
Avatar de xalupeao  
Fecha de Ingreso: mayo-2008
Ubicación: Santiago, Chile
Mensajes: 749
Antigüedad: 15 años, 10 meses
Puntos: 12
Respuesta: Consulta con esta funcion()

como seria eso ?
  #4 (permalink)  
Antiguo 21/11/2009, 21:22
Avatar de dannce4life  
Fecha de Ingreso: junio-2008
Ubicación: localhost
Mensajes: 137
Antigüedad: 15 años, 9 meses
Puntos: 6
Respuesta: Consulta con esta funcion()

tu programa esta bien escrito, me parece que el problema está en la base de datos y como se interpreta el contenido.

En vez de usar varchar, utilzá text.
y por las dudas convertilo a string.

Si no me equivoco estas consultas están orientadas a obtener datos mediante sockets.
__________________
Gracias
  #5 (permalink)  
Antiguo 22/11/2009, 00:04
Avatar de conkerick  
Fecha de Ingreso: febrero-2009
Ubicación: WWW
Mensajes: 75
Antigüedad: 15 años, 1 mes
Puntos: 2
Respuesta: Consulta con esta funcion()

¿Declaraste la variable de conexión como global?
  #6 (permalink)  
Antiguo 22/11/2009, 02:44
Avatar de xalupeao  
Fecha de Ingreso: mayo-2008
Ubicación: Santiago, Chile
Mensajes: 749
Antigüedad: 15 años, 10 meses
Puntos: 12
Respuesta: Consulta con esta funcion()

Cita:
Iniciado por dannce4life Ver Mensaje
tu programa esta bien escrito, me parece que el problema está en la base de datos y como se interpreta el contenido.

En vez de usar varchar, utilzá text.
y por las dudas convertilo a string.

Si no me equivoco estas consultas están orientadas a obtener datos mediante sockets.
Probe con pasarla a text pero es lo mismo

----------

no es necesario tenerla como global.
  #7 (permalink)  
Antiguo 22/11/2009, 14:44
Avatar de dannce4life  
Fecha de Ingreso: junio-2008
Ubicación: localhost
Mensajes: 137
Antigüedad: 15 años, 9 meses
Puntos: 6
Respuesta: Consulta con esta funcion()

pudiste solucionarlo?


Código php:
Ver original
  1. $r = mysql_query('select query from table where id=1');
  2. $d = mysql_real_escape_string((string) $d->query);
  3. fwrite($fp,$d);
__________________
Gracias
  #8 (permalink)  
Antiguo 22/11/2009, 22:06
Avatar de xalupeao  
Fecha de Ingreso: mayo-2008
Ubicación: Santiago, Chile
Mensajes: 749
Antigüedad: 15 años, 10 meses
Puntos: 12
Respuesta: Consulta con esta funcion()

Cita:
Iniciado por dannce4life Ver Mensaje
pudiste solucionarlo?


Código php:
Ver original
  1. $r = mysql_query('select query from table where id=1');
  2. $d = mysql_real_escape_string((string) $d->query);
  3. fwrite($fp,$d);
Tampoco funciono :S lo raro es que con print sale bien todo :S
  #9 (permalink)  
Antiguo 22/11/2009, 22:21
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 15 años, 11 meses
Puntos: 2534
Respuesta: Consulta con esta funcion()

a mi me gustaría ver el código completo....

osea, con el fopen() y fclose() incluidos...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #10 (permalink)  
Antiguo 23/11/2009, 11:41
Avatar de xalupeao  
Fecha de Ingreso: mayo-2008
Ubicación: Santiago, Chile
Mensajes: 749
Antigüedad: 15 años, 10 meses
Puntos: 12
Respuesta: Consulta con esta funcion()

Código PHP:
function Ping($ip,$puerto,$juego){
    
    
//Variables globales
    
global $theme_default;

    
//Iniciamos  un enlace con el servidor
    
if($fp fsockopen("udp://".$ip$puerto)) 
    
    
#
    
$r=mysql_query("SELECT game_query FROM juegos WHERE game_id='".sql($juego)."'");
    
#
    
$QueryServer=mysql_fetch_object($r);
    
#
    
$QueryServer=mysql_real_escape_string((string) $QueryServer->game_query);
    
    
//Enviamos la Query Necesaria 
    
fwrite($fp$QueryServer); 

    
//Remove the junk headers sent back 
    
socket_set_timeout($fp,1,0); 
    
    
//trunkamos la salida =P
    
$junk fread($fp,5);
    
    
// Check to see if the server is running 
    
$status socket_get_status($fp);
    
    
    
//vemos si encontro el servidor y si escribio algo
    
$do 1;
    
$server_info"";

    while(
$do)
    {
        
$str_1 fread($fp,1);
        
$server_info .= $str_1;
        
$status socket_get_status($fp);
        if(
$status["unread_bytes"] == 0) {$do 0;}
    }

    if(
$server_info == "")
    
$ping='<img src="themes/'.$theme_default.'/images/down.gif" title="Servidor Offline" alt="Servidor Offline">';
    else
    
$ping='<img src="themes/'.$theme_default.'/images/up.gif" title="Servidor Online" alt="Servidor Online">';
    
fclose($fp);

    return 
$ping
}
# --- 
  #11 (permalink)  
Antiguo 23/11/2009, 12:06
Avatar de dannce4life  
Fecha de Ingreso: junio-2008
Ubicación: localhost
Mensajes: 137
Antigüedad: 15 años, 9 meses
Puntos: 6
Respuesta: Consulta con esta funcion()

A mi me funciona bien. Probá hacer esto:


Cambia esto: return $ping;
por return (string) $QueryServer->game_query;

y al final del código ponés lo siguiente para testear que tira:

Código php:
Ver original
  1. print '<pre>';
  2. var_dump(Ping('94.23.6.124',28161,'counter-strike')); // o como tengas el nombre del juego
  3. print '</pre>';

Después comentanos lo que te tiró
__________________
Gracias
  #12 (permalink)  
Antiguo 23/11/2009, 12:44
Avatar de xalupeao  
Fecha de Ingreso: mayo-2008
Ubicación: Santiago, Chile
Mensajes: 749
Antigüedad: 15 años, 10 meses
Puntos: 12
Respuesta: Consulta con esta funcion()

al retonar eso, no retorna nada de nada.

¿como dejaste el campo de la query? varchar, text u cual?
  #13 (permalink)  
Antiguo 23/11/2009, 12:49
Avatar de dannce4life  
Fecha de Ingreso: junio-2008
Ubicación: localhost
Mensajes: 137
Antigüedad: 15 años, 9 meses
Puntos: 6
Respuesta: Consulta con esta funcion()

lo hice directo sin base de datos.

tu problema está en que hacés mal la consulta.

Código:
"SELECT game_query FROM juegos WHERE game_id='".sql($juego)."'"
nose que valor retornará "sql($juego)", pero hace que la consulta sea vacía.
Y por lo tanto envía parámetros vacíos al socket.

Agarrá el phpMyAdmin y generá la consulta individualmente, para ver si genera resultados
__________________
Gracias
  #14 (permalink)  
Antiguo 23/11/2009, 13:06
Avatar de xalupeao  
Fecha de Ingreso: mayo-2008
Ubicación: Santiago, Chile
Mensajes: 749
Antigüedad: 15 años, 10 meses
Puntos: 12
Respuesta: Consulta con esta funcion()

si los genera, de hecho cuando hago un print $QueryServer sale la query perfectamente, al igual que a ti sin base de datos no tengo problema. La consulta esta bien hecha.
La cosa pa rara ! XD
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 04:33.