Foros del Web » Programando para Internet » PHP »

comprobar si una url ya existe en la base de datos

Estas en el tema de comprobar si una url ya existe en la base de datos en el foro de PHP en Foros del Web. Hola, estoy intentando comprobar si una url ya se encuentra añadida en mi base de datos, y lo hago de la siguiente forma: <?php include ...
  #1 (permalink)  
Antiguo 19/11/2003, 08:21
MMU
Invitado
 
Mensajes: n/a
Puntos:
comprobar si una url ya existe en la base de datos

Hola, estoy intentando comprobar si una url ya se encuentra añadida en mi base de datos, y lo hago de la siguiente forma:

<?php

include ("sql.inc.php");

$query="select * from $variable where url='$url'";
$resultado = mysql_db_query ($db, $query, $link);

if(mysql_num_rows($resultado) > 0)
{
echo"Existe la url";
}
else
{
echo"No existe la url";
}
mysql_close ($link);
?>

El problema es que me da error:

Warning: mysql_db_query(): supplied argument is not a valid MySQL-Link resource in enviar_url.php on line 6

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in enviar_url.php on line 8
No eiste la url
Warning: mysql_close(): supplied argument is not a valid MySQL-Link resource in enviar_url.php on line 16

A ver si alguien me puede ayudar, me dice como hace la consulta


Saludos
  #2 (permalink)  
Antiguo 19/11/2003, 08:33
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

La causa de todo es el primer error. Por alguna razon, no te has conectado correctamente a la base de datos. El MySQL-Link resource es lo que devuelve el mysql_connect() (que no veo por ahi, supongo que estara en sql.inc.php). Lo mejor es usar mysql_error() (www.php.net/mysql_error) para estos casos (y para mysql_query()):
Código PHP:
$link=mysql_connect("host","user","pass") or die("Error al conectar. MySQL dice: ".mysql_error()); 
Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 19/11/2003, 08:36
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 14 años, 1 mes
Puntos: 11
hola, no es un problema de tu consulta, sino un problema de conexion con el servidor, pues o no esta logrando la conexion con el servidor o no te reconoce la variable de conexion $link. Esta variable deberia quedar definida en el archivo que incluyes. Como el archivo se incluye no sabria decirte porque no tiene una valor de conexion valido.
__________________
Dedicado a proyectos web, actualmente desarrollando un sistema de diseño de flyers online muy fácil de usar.
  #4 (permalink)  
Antiguo 19/11/2003, 08:45
MMU
Invitado
 
Mensajes: n/a
Puntos:
Gracias por las contestaciones, he realizado el cambio asi:

<?php

$user="";
$pass="";
$db="";

$link=mysql_connect("localhost",$user,$pass) or die("Error al conectar. MySQL dice: ".mysql_error());

$query="select * from $variable where url='$url'";
$resultado = mysql_db_query ($db, $query, $link);

if(mysql_num_rows($resultado) > 0)
{
echo"Existe la url";
}
else
{
echo"No existe la url";
}
mysql_close ($link);
?>

Ahora el problema es el siguiente:

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/sexoport/public_html/secciones/enviar_url.php on line 12
No existe la url

Me confirma que no existe la url (cosa cierta) pero me sigue dando el error...
  #5 (permalink)  
Antiguo 19/11/2003, 08:50
MMU
Invitado
 
Mensajes: n/a
Puntos:
Bueno, error mio al cambiar el codigo no meti la variable "$variable" ya funciona, pero no entiendo porque si pongo los parametros de conexion fuera da error...

gracias y perdon!
  #6 (permalink)  
Antiguo 19/11/2003, 08:51
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Pues tiene la pinta de que tu consulta es incorrecta. A volver a usar el mysql_error():
Código PHP:
$resultado mysql_db_query ($db$query$link) or die("Error en $query <br>MySQL dice: ".mysql_error()); 
Asegurate que $variable y $url reciben los valores (muestralas con un echo) y que la tabla y el campo se llaman exactamente asi.

Yo de paso te recomendaria que jubilases a mysql_db_query() y empieces a usar mysql_select_db() y mysql_query() en su lugar. Son mas "modernas".

<editado>bueno, ya veo que has encontrado el problema. De todas formas es bueno que te acostumbres a usar mysql_error() para ver los mensajes de error de MySQL.

Y sobre lo que comentas del mysql_connect(), no deberia darte problemas por ponerlo en un fichero e incluirlo. Siempre y cuando lo pongas de una forma similar a como lo has puesto ahora.</editado>

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.

Última edición por josemi; 19/11/2003 a las 08:54
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

SíEste tema le ha gustado a 2 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 07:44.