Foros del Web » Programando para Internet » PHP »

Error al mostrar los datos de una base de datos

Estas en el tema de Error al mostrar los datos de una base de datos en el foro de PHP en Foros del Web. Hola buenas tardes, tengo un problema al mostrar unos datos de la base de datos, el codigo es este: <TABLE border="0" width="304"> <?php require 'config.php' ...
  #1 (permalink)  
Antiguo 16/10/2010, 10:17
 
Fecha de Ingreso: septiembre-2010
Mensajes: 75
Antigüedad: 13 años, 7 meses
Puntos: 0
Error al mostrar los datos de una base de datos

Hola buenas tardes, tengo un problema al mostrar unos datos de la base de datos, el codigo es este:

<TABLE border="0" width="304">

<?php
require 'config.php' ;
mysql_select_db($database, $conectar);

$consult = "SELECT title,like FROM exclu ORDER BY id desc";
$rs = mysql_query($consult);
//linea 362: $total = mysql_num_rows($rs);

do
{
$datos[$i] = array($filanew['title'],$filanew['like']
);
$i++;
}
//linea 371: while($filanew = mysql_fetch_assoc($rs));

$j=1;

if($datos[$j][0] !=''){
echo '<tr>';
echo '<td>'.$datos[$j][1].'</td>';
echo '<td>'.$datos[$j][0].'</td>';
echo '</tr>';
}
if($datos[$j+1][0] !=''){
echo '<tr>';
echo '<td>'.$datos[$j+1][1].'</td>';
echo '<td>'.$datos[$j+1][0].'</td>';
echo '</tr>';
}
if($datos[$j+2][0] !=''){
echo '<tr>';
echo '<td>'.$datos[$j+2][1].'</td>';
echo '<td>'.$datos[$j+2][0].'</td>';
echo '</tr>';
}

?>
</TABLE>

Los errores que me da son:


Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\RIFAUDIO\index.php on line 363

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\RIFAUDIO\index.php on line 371


* Las líneas que etas comentadas son donde da el error

Muchas gracias desde ahora por vuestra ayuda.
  #2 (permalink)  
Antiguo 16/10/2010, 12:44
 
Fecha de Ingreso: agosto-2010
Ubicación: Tenerife
Mensajes: 893
Antigüedad: 13 años, 8 meses
Puntos: 202
Respuesta: Error al mostrar los datos de una base de datos

Pues que tienes un fallo en la consulta.
Cambia la consulta $rs = mysql_query($consult) or die (mysql_error()) ; para ver exactamente si tienes un error al escribir el select, ya sea un campo, tabla o lo que sea. Si no, revisa la conexión.
No hay más.
  #3 (permalink)  
Antiguo 16/10/2010, 13:04
 
Fecha de Ingreso: septiembre-2010
Mensajes: 75
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Error al mostrar los datos de una base de datos

Cita:
Iniciado por IEKK Ver Mensaje
Pues que tienes un fallo en la consulta.
Cambia la consulta $rs = mysql_query($consult) or die (mysql_error()) ; para ver exactamente si tienes un error al escribir el select, ya sea un campo, tabla o lo que sea. Si no, revisa la conexión.
No hay más.
Hola, muchas gracias por tu respuesta,
Con esto ahora me dice:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'like FROM exclu ORDER BY id desc' at line 1
  #4 (permalink)  
Antiguo 16/10/2010, 14:05
 
Fecha de Ingreso: agosto-2010
Ubicación: Tenerife
Mensajes: 893
Antigüedad: 13 años, 8 meses
Puntos: 202
Respuesta: Error al mostrar los datos de una base de datos

Pues eso me hace pensar dos cosas. O tienes mal construida la sentencia sql y has hecho un mal uso de la expresión like al ponerlo en el select o tienes un campo en la tabla que se llama like y la sentencia sql la interpreta como el típico like 'busqueda de cadena'.
Nunca he puesto un campo de la tabla con el nombre de una expresión, pero supongo no es lo más indicado

Si el like es el nombre del campo en la tabla prueba a cambiarlo.

Creo que es por el like ya que dice que está cerca de ahí, ahora bien, no estaría de más que revisases el resto de la consulta.
  #5 (permalink)  
Antiguo 16/10/2010, 16:24
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 15 años
Puntos: 322
Respuesta: Error al mostrar los datos de una base de datos

Tengo entendido que like es un atributo reservado para consulta sql..
Dejala asi a ver que tal;
Código PHP:
$consult "SELECT ('title','like') FROM exclu ORDER BY id desc"
__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies
  #6 (permalink)  
Antiguo 16/10/2010, 16:57
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 3 meses
Puntos: 260
Sonrisa Respuesta: Error al mostrar los datos de una base de datos

Hola,

Cita:
Iniciado por Sourcegeek Ver Mensaje
Tengo entendido que like es un atributo reservado para consulta sql..
Dejala asi a ver que tal;
Código PHP:
$consult "SELECT ('title','like') FROM exclu ORDER BY id desc"
En ese caso tendría que usar los backticks.
(En MySQL para usar keywords reservados como identificadores)

Código PHP:
$consult "SELECT `title`,`like` FROM exclu ORDER BY id desc"
La única divergencia es cuando estás usando el modo ANSI_QUOTES.
(Que permite usar la comilla doble como backticks)

Código PHP:
$consult 'SELECT "title","like" FROM exclu ORDER BY id desc'
La comilla simple se usa siempre para encerrar constantes alfanuméricas (Strings).
Saludos,
  #7 (permalink)  
Antiguo 16/10/2010, 18:19
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 15 años
Puntos: 322
Respuesta: Error al mostrar los datos de una base de datos

Pero a final de cuentas funciona :P
__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies
  #8 (permalink)  
Antiguo 16/10/2010, 20:34
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 3 meses
Puntos: 260
Sonrisa Respuesta: Error al mostrar los datos de una base de datos

Hola,

Cita:
Iniciado por Sourcegeek Ver Mensaje
Pero a final de cuentas funciona :P
Supongo que sí, solamente aclaraba que si usa backticks (`) si funciona, si usa comillas simples (') no funciona, y comillas dobles (") sin ANSI_QUOTES tampoco. Backticks (`) no es lo mismo que comillas simples (').

Saludos,
  #9 (permalink)  
Antiguo 16/10/2010, 20:54
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 15 años
Puntos: 322
Respuesta: Error al mostrar los datos de una base de datos

Raro, a mi si me anda con comillas simples, pero bueno, el chiste es programar de manera
correcta :)
__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies
  #10 (permalink)  
Antiguo 16/10/2010, 21:58
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 3 meses
Puntos: 260
Sonrisa Respuesta: Error al mostrar los datos de una base de datos

Hola,

Cita:
Iniciado por Sourcegeek Ver Mensaje
Raro, a mi si me anda con comillas simples, pero bueno, el chiste es programar de manera
correcta :)
No .. si funciona pero no da el resultado esperado ...
es decir .. no tira ningún error, pero el resultado es:

title, like
title, like
title, like ... etc.

Tantas veces como existan registros en la base de datos. Lo que sucede es que le estas diciendo que devuelva la constante alfanumerica 'title' y la constante 'like' para cada registro.

Saludos,

Etiquetas: Ninguno
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 10:33.