sábado, 6 de octubre de 2012

PDO PHP ejemplos con clasess

PHP Data Objects (PDO) nos proporciona una capa de accedo a Datos, utilizando las mismas funciones para diferentes bases de datos.

Lo primero es hacer la clase de conexión.
<?php 

class Database 
{ 
    public $db;   // handle of the db connexion    
    private static $dns = "mysql:host=localhost;dbname=northwind"; 
    private static $user = "user"; 
    private static $pass = "password";     
    private static $instance;

    public function __construct ()  
    {        
       $this->db = new PDO(self::$dns,self::$user,self::$pass);       
    } 

    public static function getInstance()
    { 
        if(!isset(self::$instance)) 
        { 
            $object= __CLASS__; 
            self::$instance=new $object; 
        } 
        return self::$instance; 
    }    
} 

?> 


Ahora vamos hacer unos ejemplos de Select / insert
<?php 
require_once "database.php"; 
class Cproducts  
{ 
public function validar($codigo) 
    { 
        $cc = Database::getInstance(); 
        $sql = "SELECT count(*) FROM products WHERE categoryid=:codigo ";        
        $result = $cc->db->prepare($sql); 
        $params = array("codigo" => $codigo); 
        $result->execute($params); 
        $affected_rows = $result->fetchColumn(); 
        return ($affected_rows); 
        //retorna numerico 
    } 

 public function Datos($codigo) 
    { 
        $cc = Database::getInstance(); 
        $sql="SELECT * from products where categoryid=:codigo"; 
        $result = $cc->db->prepare($sql);     
        $params = array("codigo" => $codigo); 
        $result->execute($params); 
        return ($result); 
        //retorna conjunto de datos 
    } 

    public function NuevoCategoria($nombre,$descripcion) 
    {         
        $cc = Database::getInstance(); 
        $sql = "Insert into categories(nombre,descripcion)"; 
        $sql .= " values( "; 
        $sql .=" :nombre,:description)"; 
        $result = $cc->db->prepare($sql); 
        $params = array("nombre" =>$nombre, "descripcion" => $descripcion); 
        $result->execute($params);     
    } 

} 
?>



Por ultimo los como usar estas clases
<?php     

    require_once("class/Cproducts.php"); 

        $aproducts = new Cproducts;     
        $affected_rows=$aproducts->validar($codigo); 

       $result=$aproducts->Datos($codigo); 
       foreach($result as $row)  
       { 
               echo($row['productname']); 
       } 

?>




Espero les sirva.

No hay comentarios.: