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:
<?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 ;)
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:
<?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
hacies uno teste con el numero de elementes del resultado con
mysql_num_rows
rog
Cita de: rog en 28 Mayo 2008, 02:31 AM
hacies uno teste con el numero de elementes del resultado con
mysql_num_rows
rog
:o :o
No he entendido nada :S xD
pon esto despues de la consulta problemática:
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
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...
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.
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 :'(
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
El codigo que me devuelve el navegador es esto:
<html>
<head>
<title>Documento sin título</title>
</head>
<body background="../imagenes/border.jpg">
<center><h1>Categorias</h1>
<a href="raquetas.php" target="_self">Raquetas</a> <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
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
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:
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.
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 ;)