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

errores con el MIN MAX, FEtch Array...etc

Estas en el tema de errores con el MIN MAX, FEtch Array...etc en el foro de Mysql en Foros del Web. Este es el codigo que una funcion Código: function ultimaPaginaPost($num) { $resultado=mysql_query("SELECT MAX(pag) AS maxpag FROM posts WHERE num_post=$num "); $linea=mysql_fetch_array($resultado); if ($num == $linea['maxpag']) ...
  #1 (permalink)  
Antiguo 22/06/2006, 02:20
Avatar de darkgaze  
Fecha de Ingreso: febrero-2006
Ubicación: Madrid, España
Mensajes: 462
Antigüedad: 18 años, 2 meses
Puntos: 2
errores con el MIN MAX, FEtch Array...etc

Este es el codigo que una funcion

Código:
function ultimaPaginaPost($num)
{
     $resultado=mysql_query("SELECT MAX(pag) AS maxpag FROM posts WHERE num_post=$num ");
	 $linea=mysql_fetch_array($resultado);
	 if ($num == $linea['maxpag']) return true;
	 else return false;
}
Para saber si estoy en la ultima pagina, y así añadir una imagen al final de un post. Van paginados los textos, por eso hago esto.

Pues bien, aquí me da el error, y me dice que

Código:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /var/www/vhost/fallenlands.es/home/html/darkgazefactory/blog/funciones.php on line 35
y por lo tanto , una cadena infinita de errores parecidos.

Hay algo mal? Quizás lo de Max y Min no es así, lo busqué y parece ser que era así como se hacía!


$num que entra, es el numero del post actual.
  #2 (permalink)  
Antiguo 22/06/2006, 02:28
Avatar de oskarL  
Fecha de Ingreso: mayo-2005
Ubicación: Madrid
Mensajes: 499
Antigüedad: 18 años, 11 meses
Puntos: 2
Parece que lo que devuelve el mysql_query no es un conjunto de registros... prueba a escribir

echo "<br/>Error: ".mysql_error();

despues de mysql_query, a ver si hay fallos en la consulta.

Si no te da ningun error prueba a ejecutar la consulta directamente en MySql, para comprobar que te da el resultado que quieres
__________________
Solo hay 10 clases de personas, las que saben binario y las que no.
  #3 (permalink)  
Antiguo 22/06/2006, 06:28
Avatar de darkgaze  
Fecha de Ingreso: febrero-2006
Ubicación: Madrid, España
Mensajes: 462
Antigüedad: 18 años, 2 meses
Puntos: 2
Pues mirad. Me dice que hay un error de sintaxis en todos. aboslutamente todas las consultas. Mirad, os pongo aqui para que me digáis qué porras hago mal!

Código:
$resultado=mysql_query("SELECT MAX(pag) AS maxpag FROM posts WHERE num_post=$num");

$resultado=mysql_query("SELECT MIN(pag) AS minpag FROM posts WHERE num_post=$num");

$resultado=mysql_query("SELECT nombre,tematica FROM indice_posts WHERE id=$pActual");
y otro sitio donde me da errores...

Código:
    $consulta = mysql_query("SELECT * FROM comentarios WHERE post_id=$post");
	$result = mysql_num_rows($consulta);
	mysql_free_result($consulta);
  #4 (permalink)  
Antiguo 22/06/2006, 07:37
Avatar de oskarL  
Fecha de Ingreso: mayo-2005
Ubicación: Madrid
Mensajes: 499
Antigüedad: 18 años, 11 meses
Puntos: 2
Lo que estaria bien es que pusieras alguno de los errores que te da, para hacernos una idea, porque pueden por cualquier cosa. De todas formas parece que las consultas estan bien escritas
__________________
Solo hay 10 clases de personas, las que saben binario y las que no.

Última edición por oskarL; 22/06/2006 a las 07:45
  #5 (permalink)  
Antiguo 22/06/2006, 13:28
Avatar de darkgaze  
Fecha de Ingreso: febrero-2006
Ubicación: Madrid, España
Mensajes: 462
Antigüedad: 18 años, 2 meses
Puntos: 2
El error que me da es que lo que recibe mysql_query no es un argumento válido de mysql. O sea, que no devuelve algo correcto.

El error que devuelve la funcion error es que
There is a sql sintaxis error near " in line 1. (la linea anterior).

Cosa que no entiendo qué será. Yo no veo el error de sintaxis!
  #6 (permalink)  
Antiguo 23/06/2006, 01:12
Avatar de oskarL  
Fecha de Ingreso: mayo-2005
Ubicación: Madrid
Mensajes: 499
Antigüedad: 18 años, 11 meses
Puntos: 2
Es posible que las variables esten vacias?

Lo que podrias hacer es copiar alguna consulta y sacarla por pantalla, para ver si es correcta

Por ejemplo:
Código PHP:

echo "SELECT MAX(pag) AS maxpag FROM posts WHERE num_post=$num"
Si no has ejecutado alguna consulta de las que te da error en MySql, esta es la oportunidad, a ver que te dice





De todas formas, aparte de los errores y todo esto, yo te recomiendo una cosa, que tengas las consulta en una variable aparte, porque luego es mas facil de manipular, tal que:


Código PHP:

$query
="SELECT MAX(pag) AS maxpag FROM posts WHERE num_post=$num";
echo 
$query;
$resultado=mysql_query($query); 
__________________
Solo hay 10 clases de personas, las que saben binario y las que no.
  #7 (permalink)  
Antiguo 23/06/2006, 08:40
Avatar de deadlykyo  
Fecha de Ingreso: noviembre-2005
Ubicación: Cbba - Bolivia
Mensajes: 747
Antigüedad: 18 años, 5 meses
Puntos: 5
Holas, por que no revisas primero si es que $num tiene valor en tu consulta esa podria ser una razon, pero lo que me parece es que te hace falta la sentencia GROUP BY en tu consulta ya que cuando usas funciones de agregacion como MIN, MAX, estas van asociadas con la sentencia GROUP BY
Código PHP:
//
$query="SELECT MAX(pag) AS maxpag FROM posts WHERE num_post=$num";
echo 
$query;
$resultado=mysql_query($query);  
if(!
$resultado)
  echo 
"<br/>Error consulta: ".mysql_error(); 
saludos, cya
__________________
"El Conocimiento es de todos, no solo de algunos"
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:14.