#1 no entiendo esta clase de base de datos
Hola amigos del foro.
Estoy haciendo un cursito de php, y no me quedó muy claro lo que se dio la clase pasada.
Teniamos que hacer un modelo para conectarse a una base de datos.
Lo que no entiendo es de la mitad para abajo del código, como trabaja la función query y la funcion fetch. Ojalá me puedan explicar de que se trata más o menos
acá les paso el codigo:
<?php
class Db
{
static $instance = null; public $queries;
static function instance()
{
if(self:
instance === null)
{
self:
instance = new Db("localhost", "root", "", "persona");
}
return self:
instance;
}
//constructor
public function __construct($host, $usuario, $pass, $base)
{
$this->link = @mysql_connect($host, $usuario, $pass) or $this->error = mysql_error();
@mysql_select_db($base, $this->link) or $this->error .= mysql_error();
if(isset($this->error))
{
die("Hubo un error " . $this->error);
}
}
public function query($sql)
{
$response = mysql_query($sql, $this->link);
$this->queries[] = $sql;
if(is_bool($response))
{
return $response;
}
return $this->fetch($response);
}
public function fetch($response)
{
$resultado = array();
while($result = mysql_fetch_object($response))
{
$resultado[] = $result;
}
return $resultado;
}
}
$con = Db::instance()->query("select * from posts");
var_dump($con);
?>
Estoy haciendo un cursito de php, y no me quedó muy claro lo que se dio la clase pasada.
Teniamos que hacer un modelo para conectarse a una base de datos.
Lo que no entiendo es de la mitad para abajo del código, como trabaja la función query y la funcion fetch. Ojalá me puedan explicar de que se trata más o menos
acá les paso el codigo:
<?php
class Db
{
static $instance = null; public $queries;
static function instance()
{
if(self:
instance === null){
self:
instance = new Db("localhost", "root", "", "persona");}
return self:
instance;}
//constructor
public function __construct($host, $usuario, $pass, $base)
{
$this->link = @mysql_connect($host, $usuario, $pass) or $this->error = mysql_error();
@mysql_select_db($base, $this->link) or $this->error .= mysql_error();
if(isset($this->error))
{
die("Hubo un error " . $this->error);
}
}
public function query($sql)
{
$response = mysql_query($sql, $this->link);
$this->queries[] = $sql;
if(is_bool($response))
{
return $response;
}
return $this->fetch($response);
}
public function fetch($response)
{
$resultado = array();
while($result = mysql_fetch_object($response))
{
$resultado[] = $result;
}
return $resultado;
}
}
$con = Db::instance()->query("select * from posts");
var_dump($con);
?>
0

