Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: mit en 22 Diciembre 2008, 06:43 am



Título: Duda sobre mysql_query()
Publicado por: mit en 22 Diciembre 2008, 06:43 am
Tengo 2 archivos php

config.php
<?
fuction ejecutar_consulta($consulta)
{
return mysql_query($consulta,$_SESSION["con"])
}
?>


insertar.php
<?
include "config.php"
$n=mysql_num_rows( ejecutar_consulta("select nombre from pais where id_pais='1' "));
echo $n;
?>

Suponiendo que abro y cierro la conexion correctamente a mi base de datos, la duda es: Porque me marca error que dice: supplie arguments in mysql_num_rows invalid o algo asi?. Creo estar seguro que no es posible usar asi el mysql_num_rows porque obtengo el valor ya sea true o false del return  al ejecutar_consulta().
           Lo que no entiendo es porque si en ves de usar el return en la funcion del archivo config.php, hago lo siguiente:
$_SESSION["res"]=  mysql_query($consulta,$_SESSION["con"])

ahi no me marca error.

Alguien puede explicarme la diferencia ???
cabe mencionar que en insertar.php uso:
ejecutar_consulta("select nombre from pais where id_pais='1' ");
$n=mysql_num_rows( $_SESSION["res"] );
echo $n;


Espero una respuesta, muchas gracias
saludos colegas  :)


Título: Re: Duda sobre mysql_query()
Publicado por: дٳŦ٭ en 22 Diciembre 2008, 06:50 am
Pon antes de usar una sesion, session_start();

http://www.php.net/manual/es/function.session-start.php


Título: Re: Duda sobre mysql_query()
Publicado por: mit en 22 Diciembre 2008, 06:56 am
Pon antes de usar una sesion, session_start();

http://www.php.net/manual/es/function.session-start.php


disculpa hermano por no detallar bien todo, me falto aclarar que el inicio de mis sesiones es correcto, inicio mi sesion bien y todo.

saludos y gracias


Título: Re: Duda sobre mysql_query()
Publicado por: WHK en 23 Diciembre 2008, 06:28 am
Citar
supplie arguments in mysql_num_rows invalid
Eso te quiere decir que a la función mysql_num_rows no le está llegando el valor del manejador y no es opcional, por eso te está dando ese error, fijate bién que si no le llega es porque alguna consulta mas arriba está fallando... puedes verificar con "if" para depurar..

Código
  1. config.php
  2. <?php
  3. fuction ejecutar_consulta($consulta){
  4. if(!$retorno = mysql_query($consulta,$_SESSION["con"])){
  5.  return false;
  6. }else{
  7.  return retorno
  8. }
  9. }
  10.  
  11. if(!$n = mysql_num_rows(ejecutar_consulta("select nombre from pais where id_pais='1' "))){
  12. echo 'Error!';
  13. }else{
  14. echo $n;
  15. }
  16. ?>
Ahora mira en el error que te sale el nombre del archivo y la linea del script donde se está generando el error y con eso sabrás con exactitud lo que está sucediendo.

También veo que te faltó un punto y coma:
Citar
config.php
<?
fuction ejecutar_consulta($consulta)
{
return mysql_query($consulta,$_SESSION["con"]);
}
?>


Título: Re: Duda sobre mysql_query()
Publicado por: mit en 24 Diciembre 2008, 02:52 am
Gracias amigo por la respuesta, usando el mysql_error() pude ver con exactitud donde estaba el problema y de esta manera solucionarlo, al parecer era una ' comiila simple la que me faltaba, muchas gracias por todo.

Saludos