Foros del Web » Programando para Internet » PHP »

Problema para mostrar un registro

Estas en el tema de Problema para mostrar un registro en el foro de PHP en Foros del Web. holaaa,cada vez que intento utilizar mi clase para realizar una consulta y mostrar un registro me arroja este error,como puedo solucionarlo?,y mostrar mi registro,ya que ...
  #1 (permalink)  
Antiguo 15/09/2006, 18:25
 
Fecha de Ingreso: febrero-2006
Mensajes: 446
Antigüedad: 18 años, 9 meses
Puntos: 3
Problema para mostrar un registro

holaaa,cada vez que intento utilizar mi clase para realizar una consulta y mostrar un registro me arroja este error,como puedo solucionarlo?,y mostrar mi registro,ya que la conexion al servidor y base de datos,me la realiza sin problemas.
gracias
Código:
consulta mal ejecutada:Query was empty
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\wamp\www\css\clase\Clase_trabajo.php on line 61
y esta es mi linea 61,donde ocupo el metodo imprimir
Código:
$row = mysql_fetch_array($this->ejecutada);
la clase que tengo en php
Código PHP:
class Trabajo
{
var 
$Base;
var 
$Servidor;
var 
$Usuario;
var 
$Password;

function 
Trabajo($servidor="localhost",$base="base",$usuario="root",$password="")
{
$this->Servidor=$servidor;
$this->Base=$base;
$this->Usuario=$usuario;
$this->Password=$password;
}

function 
conexion()
{
$this->Servidor="localhost";
$this->Base="base";
$this->Usuario="root";
$this->Password="";

$CN=mysql_connect($this->Servidor,$this->Usuario,$this->Password);

 if(!
$CN)
 {
 echo
"conexion fallida:".mysql_error();
 }

$seleccion=mysql_select_db($this->Base,$CN);

if(!
$seleccion)
{
echo
"conexion fallida:".mysql_error();
 }

 }
//FIN METODO CONEXION

function consulta($sentencia)
{
$this->ejecutada=mysql_query($this->sentencia);
if(!
$this->ejecutada)
{
echo
"consulta mal ejecutada:".mysql_error();
}
return 
$this->ejecutada;
}
//fin metodo consulta



function imprimir()
{

$row mysql_fetch_array($this->ejecutada);
echo 
"resultado:".$row;
}

pagina donde utilizo mi clase
Código PHP:
include("Clase_trabajo.php");

/*creo la el objeto de la clase trabajo*/
$uso_metodo= new Trabajo;
/*utilizo el metodo conexion de la clase*/
$uso_metodo->conexion();


$consultar=$uso_metodo->consulta("select
            an_titulo  from animales
                      where an_cod=1"
);

$uso_metodo->imprimir(); 
  #2 (permalink)  
Antiguo 15/09/2006, 22:17
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Me parece que no hay necesidad de usar $this-> pa too, según mi experiencia, podés usar variables locales a la función sin necesidad de $this.
Cuando usás $this->sentencia como argumento de la función, estás llamando a la variable sentencia definida como ¿método? (nunca me acuerdo de la terminología) de la clase, no a la variable sentencia que es argumento de la función.

Por eso te dice que la consulta está vacía.
Deberías poner como argumento de mysql_query simplemente $sentencia, no $this->sentencia.


saludos.
  #3 (permalink)  
Antiguo 15/09/2006, 22:51
 
Fecha de Ingreso: febrero-2006
Mensajes: 446
Antigüedad: 18 años, 9 meses
Puntos: 3
Cita:
Iniciado por alvlin Ver Mensaje
Me parece que no hay necesidad de usar $this-> pa too, según mi experiencia, podés usar variables locales a la función sin necesidad de $this.
Cuando usás $this->sentencia como argumento de la función, estás llamando a la variable sentencia definida como ¿método? (nunca me acuerdo de la terminología) de la clase, no a la variable sentencia que es argumento de la función.

Por eso te dice que la consulta está vacía.
Deberías poner como argumento de mysql_query simplemente $sentencia, no $this->sentencia.


saludos.
muchas gracias,esa era la solucion,colocar simplemente $sentencia
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:07.