Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

mysql_fetch_object(): supplied argument is not a valid

Estas en el tema de mysql_fetch_object(): supplied argument is not a valid en el foro de Bases de Datos General en Foros del Web. resulta que cuando le doy al previo de comentar me sale este error Código PHP: Warning :  mysql_fetch_object ():  supplied argument is not a valid MySQL result resource in  / home / desterra / ...
  #1 (permalink)  
Antiguo 16/01/2011, 15:56
Avatar de Demokan  
Fecha de Ingreso: marzo-2010
Mensajes: 41
Antigüedad: 14 años, 8 meses
Puntos: 2
mysql_fetch_object(): supplied argument is not a valid

resulta que cuando le doy al previo de comentar me sale este error

Código PHP:
Warningmysql_fetch_object(): supplied argument is not a valid MySQL result resource in /home/desterra/public_html/vpreviac.php on line 35

Warning
mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/desterra/public_html/vpreviac.php on line 40 
la cuestion es que la previa se ve y despues pulsas al de comentar y va todo bien
pero cada vez que le doy a la previa sale eso,el codigo que tengo es este

Código PHP:
    $query mysql_query('SELECT id_coment FROM {$db_prefix}comentarios WHERE id_coment='.id_coment.' ORDER BY id_coment DESC');
    
$obj mysql_fetch_object($query);
    
$ultimo_id_coment $obj->id_coment;
    
/***********************************************************************/
    
    
$query mysql_query('SELECT id_coment FROM {$db_prefix}comentarios WHERE id_post = '.$ID_TOPIC);
    
$cantidad mysql_num_rows($query); 
donde tengo el error ??? gracias por vuestra atencion
  #2 (permalink)  
Antiguo 17/01/2011, 02:01
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 8 meses
Puntos: 574
Respuesta: mysql_fetch_object(): supplied argument is not a valid

SELECT id_coment FROM {$db_prefix}comentarios WHERE id_coment='.$id_coment.' ORDER BY id_coment DESC

Te falta un dolar en la variable y el order by ... sobra ya que si solo seleccionas un id_coment no hace falta que lo ordenes por el mismo campo.

En la segunda no veo nada, debes estar seguro que {$db_prefix}+comentarios se traduce en un nombre valido de tabla...

Haz lo siguiente para ver que estas intentando ejecutar y modifica lo que no este bien...

Código PHP:
Ver original
  1. echo 'SELECT id_coment FROM {$db_prefix}comentarios WHERE id_coment='.id_coment.' ORDER BY id_coment DESC<br>';
  2. $query = mysql_query('SELECT id_coment FROM {$db_prefix}comentarios WHERE id_coment='.id_coment.' ORDER BY id_coment DESC');
  3.     $obj = mysql_fetch_object($query);
  4.     $ultimo_id_coment = $obj->id_coment;
  5.     /***********************************************************************/
  6. echo 'SELECT id_coment FROM {$db_prefix}comentarios WHERE id_post = '.$ID_TOPIC.'<br>';    
  7.     $query = mysql_query('SELECT id_coment FROM {$db_prefix}comentarios WHERE id_post = '.$ID_TOPIC);
  8.     $cantidad = mysql_num_rows($query);

eso deberia mostrarte las dos sentencias sql y verás si estan bien construidas.
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #3 (permalink)  
Antiguo 17/01/2011, 16:18
Avatar de Demokan  
Fecha de Ingreso: marzo-2010
Mensajes: 41
Antigüedad: 14 años, 8 meses
Puntos: 2
Respuesta: mysql_fetch_object(): supplied argument is not a valid

agregue eso como me dijistes...y me sigue saliendo el mismo error
  #4 (permalink)  
Antiguo 17/01/2011, 16:22
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 9 meses
Puntos: 96
Respuesta: mysql_fetch_object(): supplied argument is not a valid

Saludos

1. Imprimiste la sentencia como te indico quim y la ejecutaste en phpmyadmin?.
2. Postea la sentencia que ejecutaste (Sin variables)
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #5 (permalink)  
Antiguo 17/01/2011, 20:29
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: mysql_fetch_object(): supplied argument is not a valid

Esto es más problema de PHP que de MySQL.
El error que expresa
Cita:
Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /home/desterra/public_html/vpreviac.php on line 35
significa simplemente que estás tratando de obtener los datos devueltos por una consulta, sin previamente saber si la consulta devolvió efectivamente datos.
Hay dos posibles situaciones de error:

1) No devolvió datos por un error de sintaxis en la consulta (por ejemplo, el caso del primer post). Esto se resuelve simplemente verificando si MySQL está devolviendo un error.

2) No devolvió datos porque la tabla viene vacía. Esto puede ser porque no hay datos que cumplan con la condición o bien la condición está mal armada porque las variables usadas llegan vacías.

En cualquiera de los dos caso lo primero que debes hacer es verificar si el $query de la query es un objeto válido, antes de intentar leerlo.
Eso es programación básica...

O sea:

Código PHP:
$query mysql_query('SELECT id_coment FROM {$db_prefix}comentarios WHERE id_coment='.$id_coment.' ORDER BY id_coment DESC');
if(
$query)
    {
    
$obj mysql_fetch_object($query);
    
$ultimo_id_coment $obj->id_coment;
    
    
$query mysql_query('SELECT id_coment FROM {$db_prefix}comentarios WHERE id_post = '.$ID_TOPIC);
    if(
$query)
        {
$cantidad mysql_num_rows($query); }
    } 
Ejemplos como esto los puedes encontrar en cualquier tutorial, o bien el las FAQs de PHP.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #6 (permalink)  
Antiguo 18/01/2011, 02:54
Avatar de Demokan  
Fecha de Ingreso: marzo-2010
Mensajes: 41
Antigüedad: 14 años, 8 meses
Puntos: 2
Respuesta: mysql_fetch_object(): supplied argument is not a valid

genial tio va de lujo eres un hacha gracias

Etiquetas: argumentos
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:20.