Test Foro de elhacker.net SMF 2.1

Programación => Desarrollo Web => 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
Citarnot 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:
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