Saludos, se que el titulo no es el adecuado pero no sabia que otro poner, me estoy inicia con la poo, y tengo este ejemplo:
Código:
abstract class DBAbstractModel {
private static $db_host = 'localhost';
private static $db_user = 'user';
private static $db_pass = 'pass';
protected $db_name = 'db';
protected $query;
protected $rows = array();
private $conn;
public $mensaje = 'Hecho';
abstract protected function traer();
private function open_connection(){
$this -> conn = new mysqli(self::$db_host, self::$db_user, self::$db_pass, $this -> db_name);
}
private function close_connection() {
$this->conn->close();
}
protected function execute_single_query() {
$this->open_connection();
$this->conn->query($this->query);
$this->close_connection();
}
protected function get_results_from_query() {
$this->open_connection();
$result = $this->conn->query($this->query);
while ($this->rows[] = $result->fetch_assoc());
$result->close();
$this->close_connection();
}
}
y luego este
Código:
require_once('../core/db_abstract_model.php');
public function get($user_email='') {
if($user_email != '') {
$this->query = "
SELECT id, nombre, apellido, email, clave
FROM usuarios
WHERE email = '$user_email'
";
$this->get_results_from_query();
}
if(count($this->rows) == 1) {
foreach ($this->rows[0] as $propiedad=>$valor) {
$this->$propiedad = $valor;
}
$this->mensaje = 'Usuario encontrado';
} else {
$this->mensaje = 'Usuario no encontrado';
}
}
y para imprimir:
$usuario1 = new Usuario();
$usuario1->get('
[email protected]');
print $usuario1->nombre
Hasta aqui todo entendido, pero no entiendo como hacer cuando es mas de un resultado; por ejemplo si quito el where, y listo todos los resultados me marca error al momento de querer imprimirlos, como se aria en este caso?