[ Index ]

PHP Cross Reference of Limb3

title

Body

[close]

/dbal/src/criteria/ -> lmbSQLRawCriteria.class.php (source)

   1  <?php
   2  /*
   3   * Limb PHP Framework
   4   *
   5   * @link http://limb-project.com 
   6   * @copyright  Copyright &copy; 2004-2007 BIT(http://bit-creative.com)
   7   * @license    LGPL http://www.gnu.org/copyleft/lesser.html 
   8   */
   9  lmb_require('limb/dbal/src/criteria/lmbSQLBaseCriteria.class.php');
  10  
  11  /**

  12   * class lmbSQLRawCriteria.

  13   *

  14   * @package dbal

  15   * @version $Id: lmbSQLRawCriteria.class.php 5945 2007-06-06 08:31:43Z pachanga $

  16   */
  17  class lmbSQLRawCriteria extends lmbSQLBaseCriteria
  18  {
  19    protected $sql;
  20    protected $values;
  21  
  22    function __construct($sql, $values = array())
  23    {
  24      $this->sql = $sql;
  25      $this->values = $values;
  26    }
  27  
  28    protected function _appendExpressionToStatement(&$str, &$values, $conn)
  29    {
  30      $sql = $this->sql;
  31  
  32      foreach($this->values as $key => $value)
  33      {
  34        if(is_numeric($key))
  35        {
  36          $random_key = 'p' . mt_rand();
  37          $values[$random_key] = $value;
  38          $sql = preg_replace('~\?~', ':' . $random_key . ':', $sql, $limit = 1);
  39        }
  40        else
  41          $values[$key] = $value;
  42      }
  43  
  44      $str .= $sql;
  45    }
  46  
  47  }
  48  ?>


Generated: Fri Dec 5 04:05:07 2008 Cross-referenced by PHPXref 0.7