Login   Register  
PHP Classes
elePHPant
Icontem

File: quickpdo.php

Recommend this page to a friend!
Stumble It! Stumble It! Bookmark in del.icio.us Bookmark in del.icio.us
  Classes of Skrol29  >  Quick PDO  >  quickpdo.php  >  Download  
File: quickpdo.php
Role: Class source
Content type: text/plain
Description: the QuickPDO class
Class: Quick PDO
Access databases via PDO using shortcut functions
Author: By
Last change: fix spelling
Date: 2 years ago
Size: 4,360 bytes
 

Contents

Class file image Download
<?php

/*
********************************************************
QuickPDO
This class extends the very PDO objects to add shortcuts like the Zend Adapter has.
I wish such shortcuts were implemented in the native PDO class.
------------------------
Version  : 1.0 for PHP 5
Date     : 2011-09-05
Web site : http://www.tinybutstrong.com
Author   : http://www.tinybutstrong.com/onlyyou.html
********************************************************
This library is free software.
You can redistribute and modify it even for commercial usage,
but you must accept and respect the LPGL License version 3.
*/

class QuickPDO extends PDO {

    public 
$fetch_style PDO::FETCH_ASSOC;
    
    
/* Execute an SQL statement and return the number of affected rows.
     * @param {string} $sql: the sql statement
     * @param {array} $values: An array of values with as many elements as there are bound parameters in the SQL statement being executed.
     * see http://www.php.net/manual/en/pdostatement.execute.php
     */
    
function execute($sql$values = array()) {
        if (!
is_array($values)) $values = array($values);
        
$stmt $this->prepare($sql);
        
$stmt->execute($values);
        return 
$stmt->rowCount();
    }

    
/* Return all records corresponding to an SQL query.
     * Similar to PDOStatement::fetchAll() but directly includes the SQL statement.
     * @param {string} $sql: the SQL statement
     * @param {array} $values: An array of values with as many elements as there are bound parameters in the SQL statement being executed.
     * @param {constant} $fetch_style: see http://www.php.net/manual/en/pdostatement.fetch.php
     */
    
function fetchAll($sql$values = array(), $fetch_style=null) {
        if (!
is_array($values)) $values = array($values);
        if (
$fetch_style===null$fetch_style $this->fetch_style;
        
$stmt $this->prepare($sql);
        
$stmt->execute($values);
        
$result $stmt->fetchAll($fetch_style);
        return 
$result;
    }

    
/* Return the first record corresponding to an SQL statement.
     * Similar to PDOStatement::fetch() but directly includes the SQL statement.
     * @param {string} $sql: the SQL statement
     * @param {array} $values: An array of values with as many elements as there are bound parameters in the SQL statement being executed.
     * @param {constant} $fetch_style: see http://www.php.net/manual/en/pdostatement.fetch.php
     */
    
function fetchRow($sql$values = array(), $fetch_style=null) {
        if (!
is_array($values)) $values = array($values);
        if (
$fetch_style===null$fetch_style $this->fetch_style;
        
$stmt $this->prepare($sql);
        
$stmt->execute($values);
        
$result $stmt->fetch($fetch_style);
        return 
$result;
    }

    
/* Return the first value of the first record corresponding to an SQL statement.
     * @param {string} $sql: the SQL statement
     * @param {array} $values: An array of values with as many elements as there are bound parameters in the SQL statement being executed.
     */
    
function fetchOne($sql$values = array() ) {
        
$result $this->fetchRow($sql$valuesPDO::FETCH_NUM);
        if (
is_array($result)) {
            return 
$result[0];
        } else {
            return 
$result;
        }
    }

    
/* Return all records of an SQL statement as an associative array
     * where the first column of the query becomes the keys of the array, and
     * the second column of the query becomes the values of the array.
     * @param {string} $sql: the SQL statement
     * @param {array} $values: An array of values with as many elements as there are bound parameters in the SQL statement being executed.
     */
    
function fetchPairs($sql$values = array() ) {
        if (!
is_array($values)) $values = array($values);
        
$stmt $this->prepare($sql);
        
$stmt->execute($values);
        
$result = array();
        while (
$row $stmt->fetch(PDO::FETCH_NUM)) {
            
$result[$row[0]] = $row[1];
        }
        return 
$result;
    }

    
/* Return all values of the first column of an SQL statement as a indexed array.
     * @param {string} $sql: the SQL statement
     * @param {array} $values: An array of values with as many elements as there are bound parameters in the SQL statement being executed.
     */
    
function fetchCol($sql$values = array() ) {
        if (!
is_array($values)) $values = array($values);
        
$stmt $this->prepare($sql);
        
$stmt->execute($values);
        
$result $stmt->fetchAll(PDO::FETCH_COLUMN0);
        return 
$result;
    }

}