Argumento MySQL invalido? mysql_fetch_array(); mysql_free_result();

Iniciado por mokoMonster, 14 Octubre 2009, 06:57 AM

0 Miembros y 1 Visitante están viendo este tema.

mokoMonster

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
"Se necesitaron unos instantes para cortarle la cabeza, pero se necesitara un siglo para producir otra igual."
Lagrange

Erika Vega

1ero. Esto va en PHP
2do . Muestra el contenido de php_conex.php para ayudarte

mokoMonster

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?

"Se necesitaron unos instantes para cortarle la cabeza, pero se necesitara un siglo para producir otra igual."
Lagrange

Erika Vega

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??

mokoMonster

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  :-\
"Se necesitaron unos instantes para cortarle la cabeza, pero se necesitara un siglo para producir otra igual."
Lagrange

mokoMonster

"Se necesitaron unos instantes para cortarle la cabeza, pero se necesitara un siglo para producir otra igual."
Lagrange

WHK

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.

mokoMonster

#7
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
"Se necesitaron unos instantes para cortarle la cabeza, pero se necesitara un siglo para producir otra igual."
Lagrange