Foros del Web » Programando para Internet » PHP »

AYUDA HELP!! error mysql_fetch_array ?

Estas en el tema de AYUDA HELP!! error mysql_fetch_array ? en el foro de PHP en Foros del Web. Hola como van , Lo que tengo echo me deveria decir si es un referrer de google y si no pero en el primero codifo ...
  #1 (permalink)  
Antiguo 15/02/2008, 03:36
Avatar de hawaiian050  
Fecha de Ingreso: junio-2007
Mensajes: 285
Antigüedad: 16 años, 10 meses
Puntos: 2
Exclamación AYUDA HELP!! error mysql_fetch_array ?

Hola como van ,

Lo que tengo echo me deveria decir si es un referrer de google y si no pero en el primero codifo me da error mysql_fetch_array no se por que , y en el segundo codigo siempre me dice que el referrer no es de google tapoco se por que , alguien sabria desirme mis errores y si lo puedo solucionar ?


Código PHP:
<?php            
            

$refe 
getenv("HTTP_REFERER"); // Get the referrer
if ($ref!=""//validamos el referer

$query mysql_query("SELECT * FROM `$tabla` WHERE referer like '$ref'");
  
  
$resp mysql_query($query);
  while(
$datos = @mysql_fetch_array($resp)){ // @ LIÑA DEL ERROR ¿ POR OUE ?
  

$valor "google.com";
if(@
ereg($valor$ref)) { // SI EL REFERRER ES VACIO SALTA ERROR PERO TIENE @ Y NO LO DA

    
echo "<a href=".$datos[referer].">".$datos[referer]."</a><br> => ".$datos['hits']."<br><br>";

} else {

    echo 
" No es de google ";
}
}

?>
Código PHP:
<?php
$db 
"select * from $tabla order by hits limit 1";

$resp mysql_query($db);
while (
$datos mysql_fetch_array($resp))
{
$valor $HTTP_REFERER;
if(@
ereg($valor$datos[referer])) { // SI EL REFERRER ES VACIO SALTA ERROR PERO TIENE @ Y NO LO DA
    
echo "<a href=".$datos[referer].">".$datos[referer]."</a><br> => ".$datos['hits']."" ;
    } else {
    echo 
" No es de google "// DA SIEMPRE NO ES DE GOOGLE

}
}
?>

saludos y gracias
  #2 (permalink)  
Antiguo 15/02/2008, 05:16
 
Fecha de Ingreso: octubre-2004
Mensajes: 2.627
Antigüedad: 19 años, 5 meses
Puntos: 48
Re: AYUDA HELP!! error mysql_fetch_array ?

Lo primero, te has liado
Código PHP:
$query mysql_query("SELECT * FROM `$tabla` WHERE referer like '$ref'");
  
  
$resp mysql_query($query);
  while(
$datos = @mysql_fetch_array($resp)){ // @ LIÑA DEL ERROR ¿ POR OUE ? 
Fijate en la segunda linea, haces un mysql_query() de una variable devuelta por otro mysql_query.

Supongo que te has liado, y la primera linea no era un mysql_query(), sino simplemente asignar la cadena.

La segunda puede ser perfectamente porque lo que pasas a ereg es interpretado como un patron, y creo recordar que los / son caracteres con significado especial en los patrones. Y como las URL que vienen como referers van a tener /, seran interpretadas segun patrones, y no coincidida con la cadena almacenada.

Si lo que quieres es ver si una cadena aparece dentro de otra, es mas sencillo con strstr() (www.php.net/strstr) o strpos() (www.php.net/strpos) que con ereg().
  #3 (permalink)  
Antiguo 16/02/2008, 15:21
Avatar de hawaiian050  
Fecha de Ingreso: junio-2007
Mensajes: 285
Antigüedad: 16 años, 10 meses
Puntos: 2
De acuerdo Re: AYUDA HELP!! error mysql_fetch_array ?

Cita:
Iniciado por hawaiian050 Ver Mensaje
Hola como van ,

Lo que tengo echo me deveria decir si es un referrer de google y si no pero en el primero codifo me da error mysql_fetch_array no se por que , y en el segundo codigo siempre me dice que el referrer no es de google tapoco se por que , alguien sabria desirme mis errores y si lo puedo solucionar ?


Código PHP:
<?php            
            

$refe 
getenv("HTTP_REFERER"); // Get the referrer
if ($ref!=""//validamos el referer

$query mysql_query("SELECT * FROM `$tabla` WHERE referer like '$ref'");
  
  
$resp mysql_query($query);
  while(
$datos = @mysql_fetch_array($resp)){ // @ LIÑA DEL ERROR ¿ POR OUE ?
  

$valor "google.com";
if(@
ereg($valor$ref)) { // SI EL REFERRER ES VACIO SALTA ERROR PERO TIENE @ Y NO LO DA

    
echo "<a href=".$datos[referer].">".$datos[referer]."</a><br> => ".$datos['hits']."<br><br>";

} else {

    echo 
" No es de google ";
}
}

?>
Código PHP:
<?php
$db 
"select * from $tabla order by hits limit 1";

$resp mysql_query($db);
while (
$datos mysql_fetch_array($resp))
{
$valor $HTTP_REFERER;
if(@
ereg($valor$datos[referer])) { // SI EL REFERRER ES VACIO SALTA ERROR PERO TIENE @ Y NO LO DA
    
echo "<a href=".$datos[referer].">".$datos[referer]."</a><br> => ".$datos['hits']."" ;
    } else {
    echo 
" No es de google "// DA SIEMPRE NO ES DE GOOGLE

}
}
?>

saludos y gracias

Gracias tio voy a probar con http://www.php.net/strpos haber que tal
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 00:42.