Comunidad de diseño web y desarrollo en internet online

Problema con paso de parametros entre funciones

Citar            
MensajeEscrito el 18 May 2011 11:11 pm
Tengo el siguiente problema no puedo pasar datos a una funcion, anteriormente me funcionaba y ahora que lo voy a implementar en otro sitio ya no me funciona:

El codigo es el siguiente:

pagina1.php

Código PHP :

public function mostrarInformacion($seccion){
        $sql='SELECT * FROM tbl_informacion WHERE seccion="'.$seccion.'"';
        $stmt=$this->db->ejecutar($sql);
        $datos=$this->db->obtener_fila($stmt,0);
        echo 'Datos: '.$datos['titulo'];
        echo $datos['informacion'];
    }

Al recibir los datos de $stmt=$this->db->ejecutar($sql); - la variable $sql no trae ningun dato.

pagina2.php

Código PHP :

public function ejecutar($sql){ 
      $this->stmt=mysql_query($sql,$this->link); 
      return $this->stmt; 
   } 
   
public function obtener_fila($stmt,$fila){ 
      if ($fila==0){ 
         $this->array=mysql_fetch_array($stmt); 
      }else{ 
         mysql_data_seek($stmt,$fila); 
         $this->array=mysql_fetch_array($stmt); 
      } 
      return $this->array; 
   } 


El error que me arroja es:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in d:\inetpub\wwwroot\hosting\cbtaedu\cbta67.edu.mx\www\librerias\db.class.php on line 56


La linea 56 es:

Código PHP :

$this->array=mysql_fetch_array($stmt); 

Que es la que esta en la funcion obtener_fila();

Ya imprimi la cadena de la consulta $sql='SELECT * FROM tbl_informacion WHERE seccion="'.$seccion.'"'; y me arroja bien el valor, pero a la hora de pasarlo a la funcion ejecutar($sql); es un valor nulo.

No se si pueda ser un problema del php.ini o que estoy haciendo mal, espero y puedan orientarme, saludos.

Por dsweb

5 de clabLevel



Genero:Masculino  

Mexico

chrome
Citar            
MensajeEscrito el 19 May 2011 12:38 pm
Probablemente porque $stmt luego de ejecutar $this->db->ejecutar($sql) toma valor nulo porque la sentencia SQL no devuelve ningún resultado.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 19 May 2011 02:50 pm
Efectivamente la sentencia SQL no regresa absolutamente nada, ahora los archivos los pase a otro hosting que tengo sin cambiar nada y ahi si me funciona, entonces no se si alguna configuracion del php.ini que es la que no me deja pasar los parametros a la funcion ejecutar();

/* archivo1.php*/

public function mostrarInformacion($seccion){

$sql='SELECT * FROM tbl_informacion WHERE seccion="'.$seccion.'"';

/* Al pasar la cadena $sql se pìerde la informacion y no llega a ejecutar();*/
$stmt=$this->db->ejecutar($sql);

$datos=$this->db->obtener_fila($stmt,0);

echo 'Datos: '.$datos['titulo'];

echo $datos['informacion'];

}

/* archivo2.php al llamar esta funcion y pasarle el valor de $sql se pierde el valor no llega a la funcion*/

public function ejecutar($sql){
/* AQUI SI IMPRIMO LA VARIABLE $sql ME MANDA UN VALOR NULO*/
$this->stmt=mysql_query($sql,$this->link);

return $this->stmt;

}

Me imagino que es alguna opcion del php.ini que esta desactivada y es la que no me deja pasar parametros entre archivos. Bueno espero una respuesta, Saludos!!!!

Por dsweb

5 de clabLevel



Genero:Masculino  

Mexico

chrome
Citar            
MensajeEscrito el 19 May 2011 05:39 pm
¿Qué tal los datos de conexión?, comprueba que la conexión a la base de datos es correcta. Ten en cuenta que no todos los hostings usan "localhost" para conectar a MySQL, a veces te tienen que dar la dirección IP del servidor.

Si aún así sospechas que es una diferencia de configuración (o de versión!), tira un phpinfo() en ambos hostings.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 19 May 2011 05:53 pm
Bueno gracias por tu comentario y exactamente por ahi estaba el error, cuando cree la base de datos copie como tal el nombre de la base de datos y la pegue en la variable $db.

db_edu.mx_db

Y ahora checando directamente en phpMyAdmin esta asi el nombre de la BD

db_edu_mx_db

Este error es algo ridiculo pero me enseñara a no volver hacer CTRL + C, aunque me tarde un poco mas pasare los datos de acceso letra por letra, muchas gracias DriverOp.

Por dsweb

5 de clabLevel



Genero:Masculino  

Mexico

chrome
Citar            
MensajeEscrito el 20 May 2011 02:07 pm
Bueno, me alegro que hayas solucionado el problema.

Por DriverOp

Claber

2510 de clabLevel



 

opera

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.