Foros del Web » Programando para Internet » PHP »

Problema de consulta a la bbdd - mysql_fetch_assoc()

Estas en el tema de Problema de consulta a la bbdd - mysql_fetch_assoc() en el foro de PHP en Foros del Web. Buenas: He leido muchos mensajes por el foro, pero la verdad es que mis conocimientos de programación son prácticamente nulos. Es una web que hace ...
  #1 (permalink)  
Antiguo 18/04/2010, 16:23
 
Fecha de Ingreso: abril-2010
Mensajes: 2
Antigüedad: 14 años
Puntos: 0
Problema de consulta a la bbdd - mysql_fetch_assoc()

Buenas:

He leido muchos mensajes por el foro, pero la verdad es que mis conocimientos de programación son prácticamente nulos. Es una web que hace algun tiempo programó un compañero, ahora la hemos movido de servidor y me he encontrado con estos problemas:

Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in /home/textos/public_html/funciones.php on line 448
(
Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in /home/textos/public_html/funciones.php on line 59

Warning: mysql_free_result() expects parameter 1 to be resource, boolean given in /home/textos/public_html/funciones.php on line 60
)

Los respectivos trozos de código:

function permalink($id){
$sql = "SELECT a1.ID as id1, a2.Id as id2, a2.slug as nomcat, a1.slug as stit FROM relatos as a1
LEFT JOIN categorias as a2 ON a1.categoria=a2.ID WHERE a2.ID IS NOT NULL AND a1.ID=".$id;
$result=mysql_query($sql);
if($row=mysql_fetch_assoc($result)){
$url=BASE.'/'.caracteres($row['nomcat']).'/'.caracteres($row['stit']).'_'.$row['id1'].'.html';
return $url;
} else {return false;}
}

y el otro trozo...

function id_2_categoria($id,$x=0){
global $conexion;
$sql = "SELECT * FROM categorias WHERE ID=".$id;
$result=mysql_query($sql, $conexion);
$row=mysql_fetch_assoc($result);
mysql_free_result($result);

if($x==1){
return $row['slug'];
}
else{
return $row['categoria'];
}
}


No sé si necesitais algo más, os iré pegando todo lo que me pidais. Me registré porque por aqui parece haber expertos. Ojala sea así. Gracias.
  #2 (permalink)  
Antiguo 20/04/2010, 21:01
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Problema de consulta a la bbdd - mysql_fetch_assoc()

Problema de PHP, ya que se ve que las sentencias de SQL están bien escritas.
Revisa el contenido de las variables al momento de crear la sentencia (puede alguna estar llegando vacía), y consulta en el Foro 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)
  #3 (permalink)  
Antiguo 21/04/2010, 10:20
 
Fecha de Ingreso: abril-2010
Mensajes: 2
Antigüedad: 14 años
Puntos: 0
Respuesta: Problema de consulta a la bbdd - mysql_fetch_assoc()

Un admin que se lleve esto aL foro de PHP??

Gracias.
  #4 (permalink)  
Antiguo 21/04/2010, 11:33
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Tema trasladado desde la sección de Mysql.

Saludos.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 21/04/2010, 11:38
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 8 meses
Puntos: 70
Respuesta: Problema de consulta a la bbdd - mysql_fetch_assoc()

Hazle un echo o var_dump a $id para saber si viene realmente con un dato. O también puedes hacerle un echo a las consultas directamente y ves como está armándose.

Código PHP:
Ver original
  1. echo $sql="......";

Saludos
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #6 (permalink)  
Antiguo 21/04/2010, 11:38
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: Problema de consulta a la bbdd - mysql_fetch_assoc()

El error te dice que mysql_fetch_assoc necesita que su valor sea un resource y no le estás brindando lo que te pide. Te recomiendo que depures tu consulta usando las funciones que detectan error a ver si es un error en alguna variable que hayas declarado
Código PHP:
Ver original
  1. mysql_query('aqui va tu consulta') or die(mysql_error());
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos

Etiquetas: bbdd
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 18:21.