Foros del Web » Programando para Internet » PHP »

ERROR en mysql_fetch_array()

Estas en el tema de ERROR en mysql_fetch_array() en el foro de PHP en Foros del Web. hola, estoy haciendo una hemeroteca y, al consultar con un SELECT me saca el rgto. pero me da este error: Warning: mysql_fetch_array(): 6 is not ...
  #1 (permalink)  
Antiguo 21/10/2006, 11:41
Avatar de humanista  
Fecha de Ingreso: abril-2005
Mensajes: 878
Antigüedad: 19 años, 7 meses
Puntos: 15
ERROR en mysql_fetch_array()

hola, estoy haciendo una hemeroteca y, al consultar con un SELECT me saca el rgto. pero me da este error:

Warning: mysql_fetch_array(): 6 is not a valid MySQL result resource


no sé lo q es el nº 6, desde luego no el contenido de ningún campo...

alguien tiene alguna idea de q puede ser?

___________

hago esto:


$pathcompleto="../includes/";

include($pathcompleto . "conec-basedatos.php");
$link=conec_basedatos();

$result=mysql_query("select * from principales where fecha between '$fechaini' and '$fechafin' and estado=1 and tipo=1 order by id",$link);


while($row = mysql_fetch_array($result))

{

echo "<table border=0 cellpadding=0 cellspacing=0 width=100%>";

echo "<tr>";

echo "<td>";
echo "<div align=left><font size=1 face=verdana color=FF6600><b>ACTUALIDAD. </b></font>";
echo "<a class=ver10azu href=actualidad.php?id=$row[id] target=_blank><font size=2 face=verdana color=003D7A><b>$row[titulo]</b></font></div></a>";
echo "</td>";

echo "</tr>";

echo "</table>";

echo "<table border=0 cellpadding=0 cellspacing=0 width=100%>";
echo "<tr height=10>";
echo "<td></td>";
echo "</tr>";
echo "<tr height=1>";
echo "<td>";
echo "<table border=0 cellpadding=0 cellspacing=0 width=100% height=1 background=../compartido/punto.jpg>";
echo "<tr>";
echo "<td width=100%></td>";
echo "</tr>";
echo "</table>";
echo "</td>";
echo "</tr>";
echo "<tr height=10>";
echo "<td></td>";
echo "</tr>";
echo "</table>";

mysql_free_result($result);

}
  #2 (permalink)  
Antiguo 21/10/2006, 18:56
Avatar de Seppo  
Fecha de Ingreso: marzo-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.284
Antigüedad: 19 años, 8 meses
Puntos: 17
Lo que dice es que $result no está trayendo un resultado válido... deberías ver que query genera, y si es válido o provoca algún error
  #3 (permalink)  
Antiguo 22/10/2006, 09:27
Avatar de humanista  
Fecha de Ingreso: abril-2005
Mensajes: 878
Antigüedad: 19 años, 7 meses
Puntos: 15
ya pero...

... a mí me saca bien el rgto. ...¿?¿?¿?¿?
  #4 (permalink)  
Antiguo 24/10/2006, 06:50
Avatar de humanista  
Fecha de Ingreso: abril-2005
Mensajes: 878
Antigüedad: 19 años, 7 meses
Puntos: 15
y...

... cómo veo la query?
  #5 (permalink)  
Antiguo 24/10/2006, 06:57
Avatar de limboings  
Fecha de Ingreso: enero-2005
Mensajes: 794
Antigüedad: 19 años, 9 meses
Puntos: 2
Hola buenas,

Sé que hay la funcion mysql_error() para ver que error te ha dado y luego tienes
mysql_errno() que sirve para ver el numero de error,ya que si no te devuelve nada,es que hay un error o ningun registro ( digo yo ),aunque en vez de utilizar esas funciones (no te puedo decir mas sobre ellas,no las utilize demasiado),yo de ti probaba la consulta SQL en el phpmyadmin o desde la consola de windows y haver que te dice,asi sabras donde esta el error de la consulta..

Un Saludillo humanista!!
  #6 (permalink)  
Antiguo 24/10/2006, 07:23
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Ejecuta tu consulta SQL pero viendo los mensajes de error que Mysql pueda arrojar usando: mysql_error() tipo ...

Código PHP:
$result=mysql_query("select * from principales where fecha between '$fechaini' and '$fechafin' and estado=1 and tipo=1 order by id",$link) or die (mysql_error());; 
Otra cosa que debes hacer siempre .. es NO ESPERAR que una consulta SQL te arroje resultados siempre .. por A o B motivo podría no arrojarte resultados .. así que mejor verificar que tengas resultados usando:

Código PHP:
if (mysql_mum_rows($result) > 0){
  
// ejecutas tus mysql_fech_xxx() .. y accedes al resultado.
} else {
  
// No hay resultados ...muestra el mensaje de error que corresponda.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #7 (permalink)  
Antiguo 24/10/2006, 09:59
 
Fecha de Ingreso: octubre-2006
Mensajes: 1
Antigüedad: 18 años, 1 mes
Puntos: 0
Una forma de eliminar el warning es poniendo una @ delante de la funcion
  #8 (permalink)  
Antiguo 24/10/2006, 10:13
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Cita:
Iniciado por akak Ver Mensaje
Una forma de eliminar el warning es poniendo una @ delante de la funcion
Observación:

Más bien lo que hace la @ es "ocultar" el mensaje de error .. lo cual no significa que se esté producciendo.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 12:59.