Código:
y luego esteabstract 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(); } }
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?