Foros del Web » Programando para Internet » PHP »

Warning: mysql_fetch_array() ERROR!

Estas en el tema de Warning: mysql_fetch_array() ERROR! en el foro de PHP en Foros del Web. Hola, tengo este error en mi PHP (Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in...) luego de ejecutar una consulta la cual ...
  #1 (permalink)  
Antiguo 25/07/2014, 10:56
Avatar de Jlopez2014  
Fecha de Ingreso: julio-2014
Ubicación: Barranquilla
Mensajes: 154
Antigüedad: 9 años, 9 meses
Puntos: 0
Exclamación Warning: mysql_fetch_array() ERROR!

Hola, tengo este error en mi PHP (Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in...) luego de ejecutar una consulta la cual en MYSQL se realiza satisfactoriamente (PHPMYADMIN)... esta es mi linea de codigos:
Código PHP:
Ver original
  1. if($btn=="Todos"){
  2.        
  3.         $sql="SELECT
  4.    P.nopedido,
  5.    E.nomempresa,
  6.    PR.nomproyecto
  7. FROM
  8.    pedidos P
  9.    INNER JOIN contenidopedidos CP ON P.nopedido= CP.nopedido
  10.    INNER JOIN proyectos PR ON P.noproyecto=PR.noproyecto
  11.    INNER JOIN empresas E ON E.nomempresa= PR.idempresa
  12. ;
  13.         $cs=mysql_query($sql,$cn);
  14.         echo"<center>
  15. <table border='3'>
  16. <tr>
  17. <td>No pedido</td>
  18. <td>Cliente</td>
  19. <td>Proyecto</td>
  20. <td>Estado</td>
  21. <td>Accion</td>
  22.  
  23. </tr>";
  24.         while($resul=mysql_fetch_array($cs)){
  25.             $var=$resul[0];
  26.             $var1=$resul[1];
  27.             $var2=$resul[2];
  28.             $var3=$resul[3];
  29.            
  30.            
  31.             echo "<tr>
  32. <td>$var</td>
  33. <td>$var1</td>
  34. <td>$var2</td>
  35. <td>$var3</td>
  36. <td><img src='ver_mas.png'></td>
  37.  
  38. </tr>";
  39.             }
  40.            
  41.             echo "</table>
  42. </center>";
lo extraño es que se supone que este manera de la sintaxis SQL es mejor que la que si me funciona en tanto en PHPMYADMIN como en PHP:
SELECT pedidos.nopedido, empresas.nomempresa, proyectos.nomproyecto, proyectos.estado
FROM pedidos, empresas, proyectos
INNER JOIN contenidopedido
WHERE pedidos.nopedido=contenidopedido.nopedido and empresas.nomempresa=proyectos.idempresa and proyectos.noproyecto=pedidos.noproyecto
_________________________________________________

NOTA: que pasa con mi primera tanda de codigos que se muestra ese error en mi pagina al oprimir el boton de "todos"... Gracias!!!
  #2 (permalink)  
Antiguo 25/07/2014, 10:59
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Warning: mysql_fetch_array() ERROR!

Como ya te dije en el otro foro, ¿probaste la query que te propuse directamente en phpMyadmin?
Y me refiero a la nueva query y no a la vieja.

Ya en el otro foro no me contestate la pregunta.


Por cierto, ¿no estás notando que en el script no has cerrado la cadena de texto de la query?
Eso no va a funcionar si está como lo posteas..
Al menos debe ser:
Código PHP:
Ver original
  1. if($btn=="Todos"){
  2.        
  3.         $sql="SELECT
  4.    P.nopedido,
  5.    E.nomempresa,
  6.    PR.nomproyecto
  7. FROM
  8.    pedidos P
  9.    INNER JOIN contenidopedidos CP ON P.nopedido= CP.nopedido
  10.    INNER JOIN proyectos PR ON P.noproyecto=PR.noproyecto
  11.    INNER JOIN empresas E ON E.nomempresa= PR.idempresa";
  12.     // Y por supuesto, hay que verificar que no haya problemas al correrla...
  13.         $cs=mysql_query($sql,$cn) or die("Error al ejecutar la consulta: ".mysql_error());
Nota adicional:
Esto está mal:
Código PHP:
Ver original
  1. while($resul=mysql_fetch_array($cs)){
  2.             $var=$resul[0];
  3.             $var1=$resul[1];
  4.             $var2=$resul[2];
  5.             $var3=$resul[3];
Eso requiere una consulta que devuelva cuatro campos, y en la query pides TRES...

Sugerencia: Usa algún edtor de PHP con corrector sintáctico (yo uso NetBeans), para que te resalte en pantalla lso errores directamente.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 25/07/2014 a las 13:16

Etiquetas: mysql
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 00:54.