Autor Tema: Warning: mysql_fetch_assoc() expects parameter 1 to be resource boolean CU00842B  (Leído 19582 veces)

Javano

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 6
    • Ver Perfil
Buen día a todos espero que tengan un excelente día, bueno les comento mi inquietud.

Estoy practicando php y mysql, tengo una base de datos llamada concesionario la cual tiene tres tablas "autos,vendedores,ventas" las cuales están relacionada, autos con ventas y vendedores con ventas, para mi ejercicio coloque solo 4 campos en la tabla ventas "id_ventas,fecha,id_autos,id_vendedores", como se puede observar para poder mostrar datos de esta tabla se deben hacer una consulta a las otras dos tablas realice la consulta en mysql asi

Código: [Seleccionar]
SELECT ventas.fecha, vendedores.nombre, vendedores.apellidos, autos.marca, autos.placa FROM ventas LEFT JOIN autos ON ventas.id_auto = autos.id_autos LEFT JOIN vendedores ON ventas.id_vendedor=vendedores.id_vendedores;

y me muestra los resultas que le pido pero al momento de montar el codigo en el script con php me muestra este error
 
Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\concesionario\listarventas.php on line 27

El código que utilizo para mostrar en la web es este

Código: [Seleccionar]
<?php
 
include ("conectarse.php");
$link=Conectarse();
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
</head>

<body>
<FORM ACTION="listarVendedores.php" >
Agregar Nueva Venta
          <TABLE BORDER=1 CELLSPACING=1 CELLPADDING=1 align="center">
                         <TR>
                             <Th>Fecha</Th>
                             <Th colspan="2">Auto</Th>
                             <Th colspan="2">Vendedor</Th>         
                             <Th>Acciones</Th>
                         </TR>
                              <?php
                             $peticion
="SELECT ventas.fecha, vendedores.nombre, vendedores.apellidos, autos.marca, autos.placa FROM ventas LEFT JOIN autos ON ventas.id_auto = autos.id_autos LEFT JOIN vendedores ON ventas.id_vendedor=vendedores.id_vendedores; order by fecha";
                              
$result=mysql_query($peticion,$link );
                             echo 
$count =mysql_num_rows($result);
                              while(
$row mysql_fetch_assoc($result)) 
                              {
?>

                          <tr>
                               <td><?php echo $row["fecha"?></td>
                               <td><?php echo $row["marca"]?></td>
                               <td><?php echo $row["placa"]?></td>
                               <td><?php echo $row["nombre"]?></td>
                               <td><?php echo $row["apellidos"]?></td>
                               <td> <a href="modificar.php">Modificar</a> - Eliminar</td>
                          </tr>
                                <?php
                                 
}
                                
?>

                    </table>
                    <p></p>
          </FORM>
</body>
</html>

Le agradezco me puedan colaborar identificando el error porque no doy cual es
el codigo de la BD completa es este

Código: [Seleccionar]
# Host: localhost  (Version: 5.6.24)
# Date: 2015-06-11 11:54:43
# Generator: MySQL-Front 5.3  (Build 4.214)

/*!40101 SET NAMES utf8 */;

#
# Structure for table "autos"
#

DROP TABLE IF EXISTS `autos`;
CREATE TABLE `autos` (
  `id_autos` int(11) NOT NULL AUTO_INCREMENT,
  `marca` varchar(30) CHARACTER SET utf8 NOT NULL DEFAULT '',
  `modelo` varchar(10) COLLATE utf8_spanish_ci NOT NULL DEFAULT '',
  `tipo` varchar(20) COLLATE utf8_spanish_ci NOT NULL DEFAULT '',
  `color` varchar(15) COLLATE utf8_spanish_ci NOT NULL DEFAULT '',
  `placa` varchar(10) COLLATE utf8_spanish_ci NOT NULL DEFAULT '',
  `precio` int(11) NOT NULL DEFAULT '0',
  PRIMARY KEY (`id_autos`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 COLLATE=utf8_spanish_ci;

#
# Data for table "autos"
#

INSERT INTO `autos` VALUES (1,'renault','2010','deportivo','negro','abc100',2536000),(2,'Mazda','2009','automovil','Naranja','abc101',3025698),(3,'Ferrari','2011','deportivo','blanco','abc102',3625982),(4,'mercedes benz','2010',' camioneta','gris','abc103',4536254),(5,'honda','2010','convertible','amarillo','abc104',5236548),(6,'Mazda','2014','convertible','rojo','abc105',2365887),(7,'Ferrari','2016','Carrera','Rojo','abc106',125365989);

#
# Structure for table "vendedores"
#

DROP TABLE IF EXISTS `vendedores`;
CREATE TABLE `vendedores` (
  `id_vendedores` int(11) NOT NULL AUTO_INCREMENT,
  `cedula` int(11) NOT NULL DEFAULT '0',
  `nombre` varchar(40) COLLATE utf8_spanish_ci NOT NULL DEFAULT '',
  `apellidos` varchar(40) COLLATE utf8_spanish_ci NOT NULL DEFAULT '',
  `direccion` varchar(90) CHARACTER SET utf8 DEFAULT NULL,
  `telefono` varchar(15) COLLATE utf8_spanish_ci DEFAULT NULL,
  PRIMARY KEY (`id_vendedores`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 COLLATE=utf8_spanish_ci;

#
# Data for table "vendedores"
#

INSERT INTO `vendedores` VALUES (1,654987,'fabian','lima','otro hueco peor','3121111110'),(2,646587,'edwin','luna','la montana','3107304117'),(3,9879878,'jaime','ochoa','otro hueco','3130000001'),(4,321464,'jeisser','rodriguez','el hueco','3116959616'),(6,123456,'geiver','miranda','ptw wilches','579878');

#
# Structure for table "ventas"
#

DROP TABLE IF EXISTS `ventas`;
CREATE TABLE `ventas` (
  `id_ventas` int(11) NOT NULL AUTO_INCREMENT,
  `fecha` date NOT NULL DEFAULT '0000-00-00',
  `id_auto` int(11) NOT NULL DEFAULT '0',
  `id_vendedor` int(11) NOT NULL DEFAULT '0',
  PRIMARY KEY (`id_ventas`),
  KEY `llave_auto_ventas` (`id_auto`),
  KEY `llave_vendedores_ventas` (`id_vendedor`),
  CONSTRAINT `llave_auto_ventas` FOREIGN KEY (`id_auto`) REFERENCES `autos` (`id_autos`) ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT `llave_vendedores_ventas` FOREIGN KEY (`id_vendedor`) REFERENCES `vendedores` (`id_vendedores`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COLLATE=utf8_spanish_ci;

#
# Data for table "ventas"
#

INSERT INTO `ventas` VALUES (1,'2012-02-03',2,3),(2,'2012-05-01',1,2);
« Última modificación: 17 de Junio 2015, 13:10 por Ogramar »

Mastermind

  • Experto
  • *****
  • Mensajes: 536
    • Ver Perfil
Re:Tutorial básico del programador web: PHP desde cero CU00842B
« Respuesta #1 en: 11 de Junio 2015, 22:36 »
Hola aquí se comenta un problema parecido https://www.aprenderaprogramar.com/foros/index.php?topic=2403 a lo mejor te sirve

Saludos  :D

Javano

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 6
    • Ver Perfil
Re:Tutorial básico del programador web: PHP desde cero CU00842B
« Respuesta #2 en: 12 de Junio 2015, 23:36 »
Ya encontré el problema gracias de todo modos, es un ; que esta antes del order by.

Mastermind

  • Experto
  • *****
  • Mensajes: 536
    • Ver Perfil
Re:Tutorial básico del programador web: PHP desde cero CU00842B
« Respuesta #3 en: 13 de Junio 2015, 01:08 »
Parece mentira que un simple ; pueda generar un dolor de cabeza pero así es la programación  ???

Saludos

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".