Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/12/2011, 12:17
ccsaiKo
 
Fecha de Ingreso: agosto-2011
Mensajes: 161
Antigüedad: 13 años, 4 meses
Puntos: 7
Problema Call to a member function bind_param() on a non-object

Hola que tal ?

Bueno basicamente mi problema es un problema de conexion.. pues pasa lo siguiente

Tengo dos funciones uno para insertar y otro para mostrar las cuales al momento de iniciar la clase el metodo construct pasa el valor de conexion.



Código PHP:
require_once("Conexion.php"):

class 
clase{
    
    private 
$mysqli;
    
    public function 
__construct()
    {
        
$this->mysqli=Conectar::conexion(); // Conexion mysqli proveniente de la clase conexion.
        
        
// METODO CONSTRTUCTR

    
public function get_datos($par// obtiene datos
    
{
       
$mysqli=$this->mysqli;
       
$sql="select * from tabla where nomkey= ? ";
       
$stmt=$mysqli->prepare($sql);
       
$stmt->bind_param('s',$par);
           
//ETC
       
    
//end method  
     
    
public function insert($si,$no// inserta datos
    
{
        
        
$mysqli=$this->mysqli;
        
$sql="insert into tabla values (null,?,?,now(),now(),'jpg')";
        
$as=$mysqli->prepare($sql);
        
var_dump($as);
        
$as->bind_param("ss",$si,$no);
               
//ETC

    
}
    
}
// end class usuario

$user=new Usuario();
?> 
El problema es el siguiente ...

La primera funcion me resulta perfecta...

Y al ejecutar la segunda (Insertar) Me sale el error:
Problema Call to a member function bind_param() on a non-object
..

En la segunda funcion hice un var_dump de stmt y me vuelca NULL.

osea que $mysqli->prepare() no le esta entregando el valor a $stmt.

$mysqli=$this->mysqli;
$stmt=mysqli->prepare(); // NULL


Lo extraño es que hago lo mismo en la funcion 1 y si lo toma .

... funcion1()
{
$mysqli=$this->mysqli;
$stmt=mysqli=prepare(); // PERFECTO!}
}

funcion2()
{
$mysqli=$this->mysqli;
$stmt=mysqli=prepare(); // NULL
}