Foros del Web » Programando para Internet » PHP »

mysql_fetch_array y mysql_free_result

Estas en el tema de mysql_fetch_array y mysql_free_result en el foro de PHP en Foros del Web. Buenas,estoy trabajando en una aplicacion para un centro, la aplicacion consiste en buscar un alumno en una base de datos, cuando la busqueda ya esta ...
  #1 (permalink)  
Antiguo 15/09/2008, 10:27
Avatar de joanfont  
Fecha de Ingreso: marzo-2008
Ubicación: 127.0.0.1
Mensajes: 66
Antigüedad: 16 años, 1 mes
Puntos: 0
Exclamación mysql_fetch_array y mysql_free_result

Buenas,estoy trabajando en una aplicacion para un centro, la aplicacion consiste en buscar un alumno en una base de datos, cuando la busqueda ya esta realizada, se procede al listado de los alumnos cuyo comparten esa condicion.

El problema es que, cuando la busqueda ya esta realizada, me da un error:


Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\WAMP\www\alumnes\pcerca.php on line 29

Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in C:\WAMP\www\alumnes\pcerca.php on line 37

y el codigo es este:
Código PHP:
<?php
while ($row=mysql_fetch_array($result)){
echo 
'<tr><td>'.$row["nom"].'</td>';
echo 
'<td>'.$row["llinatge1"].'</td>';
echo 
'<td>'.$row["llinatge2"].'</td>';
echo 
'<td>'.$row["cicle"].'</td>';
echo 
'<td>'.$row["curs"].'</td>';
echo 
'<td>'.$row["grup"].'</td></tr>';
}
mysql_free_result($result)
?>
  #2 (permalink)  
Antiguo 15/09/2008, 10:31
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Respuesta: mysql_fetch_array y mysql_free_result

Y donde esta el $result y el $sql ??
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #3 (permalink)  
Antiguo 15/09/2008, 10:39
 
Fecha de Ingreso: febrero-2008
Ubicación: Cajamarca-Peru
Mensajes: 68
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: mysql_fetch_array y mysql_free_result

pon todo tu codigo, te falta tu consulta. seleccionar tu bd, mostrar tu sql y tu mysql_query, mmm esta incompleto tu codigo, ponlo todo para poder ayudart.
  #4 (permalink)  
Antiguo 15/09/2008, 10:40
Avatar de joanfont  
Fecha de Ingreso: marzo-2008
Ubicación: 127.0.0.1
Mensajes: 66
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: mysql_fetch_array y mysql_free_result

todo el codigo:

Código PHP:
<?php
$nom 
$_GET["nom"];
$llinatge1 $_GET["llinatge1"];
$llinatge2 $_GET["llinatge2"];
if (
$llinatge1 == NULL){
echo 
'<div align="center">No has aplenat un camp necessàri!</div>';
}else{}
?>
<?php
include ('bd.php');
?>
<?php
$result
=mysql_query("select * from actuacions where llinatge1=$llinatge1");
?>
<p>&nbsp;</p>
<table border="0" align="center" >
      <tr>
      <th align="center">Nom</th> 
      <th align="center">1r Llinatge</th>
      <th align="center">2n Llinatge</th>
      <th align="center">Cicle</th>
      <th align="center">Curs</th>
      <th align="center">Grup</th>
<?php
while ($row=mysql_fetch_array($result)){
echo 
'<tr><td>'.$row["nom"].'</td>';
echo 
'<td>'.$row["llinatge1"].'</td>';
echo 
'<td>'.$row["llinatge2"].'</td>';
echo 
'<td>'.$row["cicle"].'</td>';
echo 
'<td>'.$row["curs"].'</td>';
echo 
'<td>'.$row["grup"].'</td></tr>';
}
mysql_free_result($result)
?>
</table>
la conexion esta en el archivo bd.php
  #5 (permalink)  
Antiguo 15/09/2008, 10:44
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Respuesta: mysql_fetch_array y mysql_free_result

Trata con esto:
Código php:
Ver original
  1. <?php
  2. $nom = $_GET["nom"];
  3. $llinatge1 = $_GET["llinatge1"];
  4. $llinatge2 = $_GET["llinatge2"];
  5. if ($llinatge1 == NULL){
  6. echo '<div align="center">No has aplenat un camp necessàri!</div>';
  7. }else{}
  8. ?>
  9. <?php
  10. include ('bd.php');
  11. ?>
  12. <?php
  13. $result=mysql_query("select * from actuacions where llinatge1=$llinatge1") or die("Error de MySQL: ".mysql_error());
  14. ?>
  15. <p>&nbsp;</p>
  16. <table border="0" align="center" >
  17.       <tr>
  18.       <th align="center">Nom</th>
  19.       <th align="center">1r Llinatge</th>
  20.       <th align="center">2n Llinatge</th>
  21.       <th align="center">Cicle</th>
  22.       <th align="center">Curs</th>
  23.       <th align="center">Grup</th>
  24. <?php
  25. while ($row=mysql_fetch_array($result)){
  26. echo '<tr><td>'.$row["nom"].'</td>';
  27. echo '<td>'.$row["llinatge1"].'</td>';
  28. echo '<td>'.$row["llinatge2"].'</td>';
  29. echo '<td>'.$row["cicle"].'</td>';
  30. echo '<td>'.$row["curs"].'</td>';
  31. echo '<td>'.$row["grup"].'</td></tr>';
  32. }
  33. ?>
  34. </table>

Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #6 (permalink)  
Antiguo 15/09/2008, 10:46
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: mysql_fetch_array y mysql_free_result

Modifica así tu query:
Código php:
Ver original
  1. <?php
  2. $result=mysql_query("select * from actuacions where llinatge1=$llinatge1") or die( mysql_error() );
  3. ?>

Eso te imprimira el error de tu consulta, ya que por eso se generan esos warnings.

Saludos.
  #7 (permalink)  
Antiguo 15/09/2008, 11:04
Avatar de joanfont  
Fecha de Ingreso: marzo-2008
Ubicación: 127.0.0.1
Mensajes: 66
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: mysql_fetch_array y mysql_free_result

Error de MySQL: Unknown column 'Berruezo' in 'where clause'
  #8 (permalink)  
Antiguo 15/09/2008, 11:05
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: mysql_fetch_array y mysql_free_result

El error es claro, la columna Berruezo no existe en la tabla que estas seleccionando.

Saludos.
  #9 (permalink)  
Antiguo 15/09/2008, 11:09
Avatar de joanfont  
Fecha de Ingreso: marzo-2008
Ubicación: 127.0.0.1
Mensajes: 66
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: mysql_fetch_array y mysql_free_result

yo en mi DB tengo un registro que es Pedro Berruezo y no me lo detecta
  #10 (permalink)  
Antiguo 15/09/2008, 11:16
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Respuesta: mysql_fetch_array y mysql_free_result

a ver... pareciera que tu sql esta interpretando el string como nombre de campo...

Prueba cambiandolo por esto:
Código php:
Ver original
  1. $result=mysql_query("select * from actuacions a where a.llinatge1= '$llinatge1'") or die( mysql_error() );

Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #11 (permalink)  
Antiguo 15/09/2008, 11:56
Avatar de joanfont  
Fecha de Ingreso: marzo-2008
Ubicación: 127.0.0.1
Mensajes: 66
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: mysql_fetch_array y mysql_free_result

me sigue dando el error
  #12 (permalink)  
Antiguo 15/09/2008, 12:43
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Respuesta: mysql_fetch_array y mysql_free_result

mmm... y el codigo que pusiste aca lo editaste en alguna forma ??... porque ese error te lo muestra si estuvieras poniendo esto:
SELECT * FROM actuacions WHERE Berruezo= '$llinatge1';

Y como la columna Berruezo no existe... te da ese error.

Pon el codigo tal cual lo usas y el error que tira.

Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #13 (permalink)  
Antiguo 15/09/2008, 13:15
Avatar de joanfont  
Fecha de Ingreso: marzo-2008
Ubicación: 127.0.0.1
Mensajes: 66
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: mysql_fetch_array y mysql_free_result

mi codigo es asi
Código PHP:
$result mysql_query("SELECT * FROM alumnes WHERE llinatge1=$llinatge1"
  #14 (permalink)  
Antiguo 15/09/2008, 14:03
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Respuesta: mysql_fetch_array y mysql_free_result

Sip... pero el error dice otra cosa...

Haz lo siguiente:
Código php:
Ver original
  1. $sql = "SELECT * FROM alumnes WHERE llinatge1 = '".$llinatge1."'";
  2. echo $sql; //esto para ver el sql en la pantalla
  3. $result = mysql_query($sql) or die("Error MySQL: ".mysql_error());

Cuentanos como te va.

Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #15 (permalink)  
Antiguo 16/09/2008, 08:45
Avatar de joanfont  
Fecha de Ingreso: marzo-2008
Ubicación: 127.0.0.1
Mensajes: 66
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: mysql_fetch_array y mysql_free_result

gracias ya me funciona
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 19:38.