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.