PHP Classes

File: quickpdo.php

Recommend this page to a friend!
  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: 12 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, $values, PDO::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_COLUMN, 0);
        return
$result;
    }

}