Foros del Web » Programando para Internet » PHP »

Ayuda con consulta a BBDD

Estas en el tema de Ayuda con consulta a BBDD en el foro de PHP en Foros del Web. Hola a todos: Tengo el siguiente codigo: $conexion = mysql_connect("localhost", "usuario", "contraseña") or die("<b>Problema en MySQL:</b> Error al conectar con la base de datos"); $BBDD= ...
  #1 (permalink)  
Antiguo 26/10/2004, 13:20
 
Fecha de Ingreso: junio-2003
Mensajes: 778
Antigüedad: 14 años, 6 meses
Puntos: 1
Ayuda con consulta a BBDD

Hola a todos:

Tengo el siguiente codigo:

$conexion = mysql_connect("localhost", "usuario", "contraseña")

or die("<b>Problema en MySQL:</b> Error al conectar con la base de datos");

$BBDD= mysql_select_db("estaeslabasededatos", $conexion)
or die("<b>Problema en MySQL:</b> Error al conectar con la base de datos");

$sql = "SELECT * FROM Tabla WHERE Tipo LIKE ".$ID ;
$consulta = mysql_query($sql, $conexion);

$filas = mysql_num_rows($consulta);


Donde $ID se recoge de la url con este codigo:

$ID='';
if (isset($_GET['id'])) {
$ID=$_GET['id'];}



y cuando lo ejecuto me sale el siguiente código de error:

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\Archivos de programa\Apache Group\Apache2\htdocs\laliebana\files\object.php on line 209

Y no hacierto a resolver...

Algun alma se apiada de este pobre...

Asias
  #2 (permalink)  
Antiguo 26/10/2004, 13:26
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

Leamos lo que dice el error: el argumento pasado a mysql_num_rows() no es un id valido de resultado. Bien, ¿de donde sacas el valor que le pasas como argumento a mysql_num_rows()? Pues de mysql_query(). Asi que es mysql_query() el que devuelve un valor no valido. Mirando al manual (www.php.net/mysql_query), ¿cunado mysql_query() devuelve un valor no valido? Pues devuelve false cuando se ha producido un error en el servidor MySQL al ejecutar la consulta. ¿Como podemos ver el mensaje de error producido por MySQL? Con la funcion mysql_error() (www.php.net/mysql_error). Puedes usar una estructura con el or die() como has hecho con las otras funciones mysql_.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 26/10/2004, 13:33
 
Fecha de Ingreso: junio-2003
Mensajes: 778
Antigüedad: 14 años, 6 meses
Puntos: 1
Hola de nuevo:

Gracias josemi por darme la caña y no el pez.

Que error esta en la sentencia SQL ya lo se pero lo que no hacierto es a ver el error...

¿Puedes ayudarme con eso??

Asias again
  #4 (permalink)  
Antiguo 26/10/2004, 13:34
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Puedes usar:

$sql = "SELECT * FROM Tabla WHERE Tipo LIKE ".$ID ;
$consulta = mysql_query($sql, $conexion) or die (mysql_error());

Ahí veras mejor mensajes de error de Mysql que puedas estár teniendo ..

De todas formas, te recomendaría usar:
Código PHP:
$sql "SELECT * FROM Tabla WHERE Tipo LIKE '".$ID."'" 
Para evitar más problemas ...

pero, .. si no usas "comodines" (%) en LIKE .. lo ideal es usar = ..
Código PHP:
$sql "SELECT * FROM Tabla WHERE Tipo='".$ID."'" 

Un saludo,
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 07:09.