Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: Noxors en 27 Mayo 2008, 22:51 pm



Título: Error mysql_fetch_array...
Publicado por: Noxors en 27 Mayo 2008, 22:51 pm
Hola amigos, como va la noche? Supongo que mas relajada que la mia jeje, mirad tengo un pequeño problema y me gustaria que intentarais ayudarme ya que no veo el fallo por ningun lado, estoy haciendo una consulta a mi BBDD para mostrar por pantalla ciertos campos de dicha BBDD, pero me da el siguiente error:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in D:\wamp\www\Credito\Castellano\balones.php on line 18

Aquí os dejo el codigo a ver si podeis ayudarme, es bastante Urgente, es para mañana:

Código:
<?php
include("conexion.php");

$Sql="SELECT * FROM products WHERE family=2;";
$balones=mysql_query($Sql,$conexion);
$Ruta="http://localhost/Credito/productos/balones/";


while($producto=mysql_fetch_array($balones)){
echo "<table border='1'><tr><td>".$producto['Nombre']. "</td><td><img height='75' width='75' src='".$Ruta.$producto['Imagen'].".jpg'></td><td>".$producto['Precio']."</td></tr>";
}
echo"</table>";
?>

Llevo dandole vueltas un buen rato y no encuentro el fallo... ;)


Gracias amigos ;)


Título: Re: Error mysql_fetch_array...
Publicado por: Noxors en 28 Mayo 2008, 00:13 am
Bien, he correjido el error que me salia gracias a un usuario que me lo solucionó via MSN, no me se su nick en el foro pero creo que es Serbice. Gracis amigo.

Pues bien, ahora me ha salido otro problema... La cosa es que no me muestra la tabla con los productos... sabeis porque puede ser? el codigo ahora mismo esta asin:

Código:
<?php
include("conexion.php");

$Sql="SELECT * FROM products WHERE 'Famila'='2';";
$balones=mysql_query($Sql,$conexion);
$Ruta="http://localhost/Credito/productos/balones/";

while($producto=mysql_fetch_array($balones)){
echo "<table border='1'><tr><td>".$producto['Nombre']. "</td><td><img height='75' width='75' src='".$Ruta.$producto['Imagen'].".jpg'></td><td>".$producto['Precio']."</td></tr>";
}
echo"</table>";
?>


Ya he probado de poner `Familia` asin con los acentos pero no hay manera, a ver si ahora me lo pueden solucionar


Título: Re: Error mysql_fetch_array...
Publicado por: rog en 28 Mayo 2008, 02:31 am
hacies uno teste con el numero de elementes del resultado con

mysql_num_rows

rog


Título: Re: Error mysql_fetch_array...
Publicado por: Noxors en 28 Mayo 2008, 02:42 am
hacies uno teste con el numero de elementes del resultado con

mysql_num_rows

rog


:o :o

No he entendido nada :S xD


Título: Re: Error mysql_fetch_array...
Publicado por: SirLanceCC en 28 Mayo 2008, 05:12 am
pon esto despues de la consulta problemática:
Código
  1. echo mysql_error();

pero lo más probable es por que pusiste punto y coma al final de la consulta puesto que con mysql_query creo que no se pone


Título: Re: Error mysql_fetch_array...
Publicado por: Noxors en 28 Mayo 2008, 05:29 am
Buff, nada, todo sigue igual. Esto ya me empieza a preocupar... he de entregar el trabajo en menos de 15 horas y no me funciona...


Título: Re: Error mysql_fetch_array...
Publicado por: Fireball-CH en 28 Mayo 2008, 07:50 am
Qué onda, Noxors!
No ps la verdad no se mucho de funciones de MySQL pero prueba tu consulta así:
$Sql="SELECT * FROM products WHERE family = 2";
  o
$Sql="SELECT * FROM products WHERE Famila = '2'";

Ah, cuando pusiste lo de tu primer problema escribiste family en tu consulta y cuando dijiste que ya lo habías corregido escribiste Famila... a lo mejor por eso es el error.


Título: Re: Error mysql_fetch_array...
Publicado por: Noxors en 28 Mayo 2008, 11:01 am
Ey Hola, pues ya he probado todas esas combinaciones y no encuentro el error por ningun lado y me esta volviendo loco porque hoy a las 7 de la tarde hora de españa he de entregarla y no se como solucionalo :'(


Título: Re: Error mysql_fetch_array...
Publicado por: Hans el Topo en 28 Mayo 2008, 11:07 am
familia si es un campo preferiblemente sin ''


haces cosas raras
estas creando veintemil tablas y simplemente cierras una...


mira el code de tu página desde el navegador para ver si devuelve algo

sin o sabes que es mysql_num_rows BÚSCALO

www.php.net


Título: Re: Error mysql_fetch_array...
Publicado por: Noxors en 28 Mayo 2008, 11:10 am
El codigo que me devuelve el navegador es esto:

<html>
<head>
<title>Documento sin t&iacute;tulo</title>
</head>

<body background="../imagenes/border.jpg">
<center><h1>Categorias</h1>
<a href="raquetas.php" target="_self">Raquetas</a>&nbsp;<a href="zapatillas.php" target="_self">Zapatillas</a><a href="balones.php" target="_self">Balones</a>

</table>
</center>
</body>

</html>
 

me cierra una table que no se ha abierto en ningun lado :S


Título: Re: Error mysql_fetch_array...
Publicado por: rog en 28 Mayo 2008, 13:50 pm
usted tienes problema porque non tienes ningum error handler

$Sql="SELECT * FROM products WHERE family=2;";

if(!$balones=mysql_query($Sql,$conexion))
{
die("query error : ".mysql_error());
}

tambien non tiene selecion del banco de dado

rog


Título: Re: Error mysql_fetch_array...
Publicado por: Fireball-CH en 28 Mayo 2008, 19:00 pm
Efectivamente, no toma nada de la base de datos, y en el código fuente te aparece que cierra una tabla que no se ha abierto en ningún lado porque tienes esto:

Código:
while($producto=mysql_fetch_array($balones)){
echo "<table border='1'><tr><td>".$producto['Nombre']. "</td><td><img height='75' width='75' src='".$Ruta.$producto['Imagen'].".jpg'></td><td>".$producto['Precio']."</td></tr>";
}
echo"</table>";

echo"</table>";  lo tienes fuera del bucle while, por eso te cierra la tabla... ¿y por qué no la abre? Porque el código que abre la tabla está dentro del bucle while, pero el bucle while no está encontrando nada en la base de datos... en pocas palabras, no se está ejecutando lo que está dentro del bucle while, ¿sí me explico? :P

Prueba como te dice rog.


Título: Re: Error mysql_fetch_array...
Publicado por: Noxors en 30 Mayo 2008, 17:22 pm
Ya lo solucioné, el problema estaba en la consulta mysql, lo de la conexion de la BBDD estaba en un include mas arriba, por eso no figuraba en el codigo.

Finalmente me pusieron un 7 del trabajo, despues de tanto esfuerzo me lo merecia ;)

Gracias a todos por la ayuda ;)