Duda sobre mysql_query()

Iniciado por mit, 22 Diciembre 2008, 06:43 AM

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

mit

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  :)

дٳŦ٭



Con sangre andaluza :)


mit

Cita de: дٳŦ٭ 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


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

WHK

#3
Citarsupplie 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 (php) [Seleccionar]
config.php
<?php
fuction ejecutar_consulta
($consulta){
 if(!
$retorno mysql_query($consulta,$_SESSION["con"])){
  return 
false;
 }else{
  return 
retorno
 
}
}

if(!
$n mysql_num_rows(ejecutar_consulta("select nombre from pais where id_pais='1' "))){
 echo 
'Error!';
}else{
 echo 
$n;
}
?>

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:
Citarconfig.php
<?
fuction ejecutar_consulta($consulta)
{
return mysql_query($consulta,$_SESSION["con"]);
}
?>

mit

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