Ver Mensaje Individual
  #15 (permalink)  
Antiguo 16/12/2011, 09:21
Avatar de leo_
leo_
 
Fecha de Ingreso: abril-2008
Mensajes: 40
Antigüedad: 16 años, 7 meses
Puntos: 11
Respuesta: Problema Call to a member function bind_param() on a non-object

Hola mira lo hice asi conexion.class.php
Código PHP:
<?php
class conexion{
    public static function 
conectar(){
        return new 
mysqli("host","user","pass","db");
    }
}
index.php
Código PHP:
<?php

require_once('conexion.class.php');

class 
usuario{
    private 
$mysqli;
    public function 
__construct(){
        
$this->mysqli conexion::conectar();
    }
    public function 
get_datos($par){
        
$mysqli $this->mysqli;
        
$sql "select * from usuarios where id = ?";
        
$stmt $mysqli->prepare($sql);
        
$stmt->bind_param("s",$par);
        
$stmt->execute();
        
$stmt->bind_result($id,$nombre);
        if(
$stmt->fetch()){
            
$tmp[] = array($id=>$nombre);
        };
        
$stmt->close();
        return (isset(
$tmp)) ? $tmp null;
    }
    public function 
insertar($nombre,$id null){
        
$mysqli $this->mysqli;
        
$sql "insert into usuarios values (?,?)";
        
$stmt $mysqli->prepare($sql);
        
$stmt->bind_param("ss",$id,$nombre);
        
$stmt->execute();
        
$return $stmt->insert_id;
        
$stmt->close();
        return 
$return;
    }
}

$usuario = new usuario();
$usuario->insertar("Juan Roman Riquelme");
$data $usuario->get_datos("s");
echoe($data);
$tmp $usuario->insertar("Hugo Benjamin Ibarra");
$data $usuario->get_datos($tmp);
echoe($data);

function 
echoe($data){
    echo 
"<pre>";
    
print_r($data);
    echo 
"</pre>";
}
Y tampoco me dio problemas incluso probe primero una despues la otra y viceversa y nada. ¿Dentro de esas funciones no estaras haciendo $mysqli->close()? Sino ni idea.. Saludos.