Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/06/2007, 13:04
Finseneu
 
Fecha de Ingreso: octubre-2003
Mensajes: 540
Antigüedad: 21 años, 3 meses
Puntos: 1
Mi primer intento de clase

Este es mi primer acercamiento serio con POO.
Basandome en algunos ejemplos hice una clase para ejecutar consultas a una DB MySQL.


Código PHP:
<?

class Mysql {

    var 
$db_host;
    var 
$db_user;
    var 
$db_pass;
    var 
$db_name;
    
    var 
$conn_id 0;
    var 
$query_id 0;
    
    var 
$errno 0;
    var 
$error "";
    
        
    function 
Mysql ($host=""$user=""$pass=""$name="") {
    
        
$this->db_host $host;
        
$this->db_user $user;
        
$this->db_pass $pass;    
        
$this->db_name $name;
                
    }    
    
    
    
    function 
connect ($host$user$pass$name) {
    
        if (
$host != ""$this->db_host $host;
        if (
$user != ""$this->db_user $user;        
        if (
$pass != ""$this->db_pass $pass;
        if (
$name != ""$this->db_name $name;
    
        
$this->conn_id mysql_connect($this->db_host$this->db_user$this->db_pass);
        
        if (!
$this->conn_id) {

            
$this->error "cant connect to db server";
        
            return 
0;
        
        }

        if (!@
mysql_select_db($this->db_name$this->conn_id)) {

            
$this->error "Can't connect to ".$this->db_name ;

            return 
0;

        }
        
        return 
$this->conn_id;
        
    }
    
    
    function 
query ($sql="") {
    
        if (
$sql == "") {

            
$this->error "Invalid SQL Query";
            
            return 
0;
        
        }

        
$this->query_id = @mysql_query($sql$this->conn_id);
        
        if (!
$this->query_id) {

            
$this->errno mysql_errno();            
            
$this->error mysql_error();
        
        }
        
        return 
$this->query_id;

    }
    
}
La duda puntual es esta.....yo hasta acá me conecto y ejecuto una consulta, pero no veo como construir un método para manipular los datos.
Hasta ahora lo hago de esta forma:

Código PHP:
<?php

require ("mysql.class.php");

$my_query = new Mysql;

$my_query->connect("localhost""user""pass""mydb");

$rows $my_query->query("SELECT * FROM table");

while (
$row mysql_fetch_array($rows)) {

    echo 
$row["foo"]."<br>\n";

}

?>

No sé, estoy bastante liado, pero me da la sensación de que en este último paso estoy volviendo a programar estructuradamente. De que forma lo harían uds?
Espero que se entienda mas o menos lo que quiero decir, cualquier ayuda es bienvenida.