Desarrollo Web /

no entiendo esta clase de base de datos

Participa en el tema no entiendo esta clase de base de datos en el foro Desarrollo Web.
Hola amigos del foro. Estoy haciendo un cursito de php, y no me quedó muy ...

Buscar en este tema:
 
  •  
    #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);
    ?>

    +
     
    0
    Me gusta
     
    | Más
  • #2 Re: no entiendo esta clase de base de datos

    En la función query con mysql_query realizas la consulta a la base de datos "select * from posts".
    En la función fetch mostras los resultados de la consulta, con mysql_fetch_object devolves un objeto por cada tupla de la base de datos, y se lo asignas al array resultado.
    Me gusta este mensaje
  • #3 Re: no entiendo esta clase de base de datos

    Originalmente publicado por xarcos Ver mensaje
    En la función query con mysql_query realizas la consulta a la base de datos "select * from posts".
    En la función fetch mostras los resultados de la consulta, con mysql_fetch_object devolves un objeto por cada tupla de la base de datos, y se lo asignas al array resultado.
    Si... pero ¿que quiere decir acá?

    if(is_bool($response))
    {
    return $response;
    }
    return $this->fetch($response);
    }
    Me gusta este mensaje
  • #4 Re: no entiendo esta clase de base de datos

    Pregunta si la variable $response es un booleano (true o false)
    para asegurarse de que tenga un resultado asignado y no "undefined".
    Si está asignado, lo devuelve con el return.
    Me gusta este mensaje
  • #5 Re: no entiendo esta clase de base de datos

    Muy muchas gracias!!!!
    Me gusta este mensaje


Estadísticas del tema
  • 4 RESPUESTAS
  • 115 VISTAS
  • 3 USUARIOS RESPONDIERON
 
Ir arriba
Contacto | Acerca de | Ayuda | Términos Legales | privacidad | Pautas de convivencia | Mapa de los foros | TrabajÁ con nosotros
©2008 Psicofxp.com S.A. - Todos los derechos reservados
Certifica IAB