Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: mokoMonster en 14 Octubre 2009, 06:57 am



Título: Argumento MySQL invalido? mysql_fetch_array(); mysql_free_result();
Publicado por: mokoMonster en 14 Octubre 2009, 06:57 am
Hola Cybernautas xD
tengo un problemita donde espero me puedan ayudar xD
Ahora la base de datos esta bien conectada, pero resulta esto:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/a49912738/public_html/php_conex.html on line 18
Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in /home/a49912738/public_html/php_conex.html on line 21


5  <body>
6  <H1>Ejemplo de uso de bases de datos con PHP y MySQL</H1>
7
8  <?php
9   include("php_conex.php");
10   $link=Conectarse();
11   $result=mysql_query("select * from prueba",$link);
12  ?>
13
14   <TABLE BORDER=1 CELLSPACING=1 CELLPADDING=1>
15      <TR><TD>&nbsp;Nombre</TD><TD>&nbsp;Apellidos&nbsp;</TD></TR>
16 <?php     
17
18   while($row = mysql_fetch_array($result)) {
19      printf("<tr><td>&nbsp;%s</td><td>&nbsp;%s&nbsp;</td></tr>", $row["Nombre"],$row["Apellidos"]);
20   }
21   mysql_free_result($result);
22   mysql_close($link);
23  ?>
24
25 </table>
26 </body>

Sera que el servidor no acepta esas funciones, o que mas podria ser?
Saludos y Gracias de antemano.
xD


Título: Re: Argumento MySQL invalido? mysql_fetch_array(); mysql_free_result();
Publicado por: Erika Vega en 14 Octubre 2009, 07:05 am
1ero. Esto va en PHP
2do . Muestra el contenido de php_conex.php para ayudarte


Título: Re: Argumento MySQL invalido? mysql_fetch_array(); mysql_free_result();
Publicado por: mokoMonster en 14 Octubre 2009, 07:24 am
php_conex.php

<?php
function Conectarse()
{
   if (!($link=mysql_connect("xxx.000webhost.com","a49912738_mokmok","xxxxx")))
   {
      echo "Error conectando a la base de datos.";
      exit();
   }
   if (!mysql_select_db("a49912738_mkmnstr",$link))
   {
      echo "Error seleccionando la base de datos.";
      exit();
   }
   return $link;
}
?>

Y cambie php_conex.html a php_conex2.php

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/a4991738/public_html/php_conex2.php on line 18
Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in /home/a49912738/public_html/php_conex.php on line 21

So, que piensas?



Título: Re: Argumento MySQL invalido? mysql_fetch_array(); mysql_free_result();
Publicado por: Erika Vega en 14 Octubre 2009, 08:02 am
Ok lo que pasa es que estas usando una funcion y usando la variable $link ya usada previamente.
deberia ser mas o menos asi:

<?php
include("php_conex.php");
global $link;
Conectarse();
$result=mysql_query("select * from prueba",$link);
...
...
?>

Otra cosa el host de la base de datos es correcta??


Título: Re: Argumento MySQL invalido? mysql_fetch_array(); mysql_free_result();
Publicado por: mokoMonster en 14 Octubre 2009, 08:28 am
No, yo lo escribi erroneo a proposito xD
 http://mkmnstr.netai.net/php_conex2.php  <--- Chekalo

Este es el codigo:
<html>
<head>
   <title>Ejemplo de PHP</title>
</head>
<body>
<H1>Ejemplo de uso de bases de datos con PHP y MySQL</H1>
<?php
   include("php_conex.php");
   global $link;
   Conectarse();
   $result=mysql_query("select * from prueba",$link);
?>
   <TABLE BORDER=1 CELLSPACING=1 CELLPADDING=1>
      <TR><TD>&nbsp;Nombre</TD><TD>&nbsp;Apellidos&nbsp;</TD></TR>
<?php     
   while($row = mysql_fetch_array($result)) {
      printf("<tr><td>&nbsp;%s</td><td>&nbsp;%s&nbsp;</td></tr>", $row["Nombre"],$row["Apellidos"]);
   }
   mysql_free_result($result);
   mysql_close($link);
?>
</table>
</body>
</html>

Uhmmmm  :-\


Título: Re: Argumento MySQL invalido? mysql_fetch_array(); mysql_free_result();
Publicado por: mokoMonster en 14 Octubre 2009, 23:50 pm
Entonces que piensan ??
xD


Título: Re: Argumento MySQL invalido? mysql_fetch_array(); mysql_free_result();
Publicado por: WHK en 16 Octubre 2009, 04:12 am
Citar
not a valid MySQL result resource
ese error significa que el handle (o sea $link) no funciona o no existe, no es válido porque no se conectó correctamente.

ahora, porque no muestra el mensaje de error de conexión o porque no hizo el exit ahi ya no sabría pero por lo menos ese mensaje dice eso.


Título: Re: Argumento MySQL invalido? mysql_fetch_array(); mysql_free_result();
Publicado por: mokoMonster en 16 Octubre 2009, 18:08 pm
Ya tengo la respuesta!!
:D
El error estaba en:
11   $result=mysql_query("select * from prueba",$link) or die(mysql_error());
Y no tenia porque estar Global $link;
Tendria que quedar asi:
Código:
8  <?php
9   include("php_conex.php");
10   $link=Conectarse();
11   $result=mysql_query("select * from prueba",$link) or die(mysql_error());
12  ?>
13
14   <TABLE BORDER=1 CELLSPACING=1 CELLPADDING=1>
15      <TR><TD>&nbsp;Nombre</TD><TD>&nbsp;Apellidos&nbsp;</TD></TR>
16 <?php    
17
18   while($row = mysql_fetch_array($result)) {
19      printf("<tr><td>&nbsp;%s</td><td>&nbsp;%s&nbsp;</td></tr>", $row["Nombre"],$row["Apellidos"]);
20   }
21   mysql_free_result($result);
22   mysql_close($link);
23  ?>
24
25 </table>

Y era todo xD
haha
cuidaensee