| [ Index ] |
PHP Cross Reference of Limb3 |
[Summary view] [Print] [Text view]
1 <?php 2 /* 3 * Limb PHP Framework 4 * 5 * @link http://limb-project.com 6 * @copyright Copyright © 2004-2007 BIT(http://bit-creative.com) 7 * @license LGPL http://www.gnu.org/copyleft/lesser.html 8 */ 9 lmb_require('limb/dbal/src/drivers/lmbDbStatement.interface.php'); 10 11 /** 12 * class lmbPgsqlStatement. 13 * 14 * @package dbal 15 * @version $Id: lmbPgsqlStatement.class.php 5945 2007-06-06 08:31:43Z pachanga $ 16 */ 17 class lmbPgsqlStatement implements lmbDbStatement 18 { 19 protected $statement; 20 protected $connection; 21 protected $parameters = array(); 22 23 function __construct($connection, $sql) 24 { 25 $this->statement = $sql; 26 $this->connection = $connection; 27 } 28 29 function setNull($name) 30 { 31 $this->parameters[$name] = 'null'; 32 } 33 34 function setSmallInt($name, $value) 35 { 36 $this->parameters[$name] = is_null($value) ? 'null' : intval($value); 37 } 38 39 function setInteger($name, $value) 40 { 41 $this->parameters[$name] = is_null($value) ? 'null' : intval($value); 42 } 43 44 function setFloat($name, $value) 45 { 46 $this->parameters[$name] = is_null($value) ? 47 'null' : 48 floatval($value); 49 } 50 51 function setDouble($name, $value) 52 { 53 if(is_float($value) || is_integer($value)) 54 { 55 $this->parameters[$name] = $value; 56 } 57 else if(is_string($value) && preg_match('/^(|-)\d+(|.\d+)$/', $value)) 58 { 59 $this->parameters[$name] = $value; 60 } 61 else 62 { 63 $this->parameters[$name] = 'null'; 64 } 65 } 66 67 function setDecimal($name, $value) 68 { 69 if(is_float($value) || is_integer($value)) 70 { 71 $this->parameters[$name] = $value; 72 } 73 else if(is_string($value) && preg_match('/^(|-)\d+(|.\d+)$/', $value)) 74 { 75 $this->parameters[$name] = $value; 76 } 77 else 78 { 79 $this->parameters[$name] = 'null'; 80 } 81 } 82 83 function setBoolean($name, $value) 84 { 85 $this->parameters[$name] = is_null($value) ? 86 'null' :(($value) ? "'1'" : "'0'"); 87 } 88 89 function setChar($name, $value) 90 { 91 $this->parameters[$name] = is_null($value) ? 92 'null' : 93 "'" . pg_escape_string((string) $value) . "'"; 94 } 95 96 function setVarChar($name, $value) 97 { 98 $this->parameters[$name] = is_null($value) ? 99 'null' : 100 "'" . pg_escape_string((string) $value) . "'"; 101 } 102 103 function setClob($name, $value) 104 { 105 $this->parameters[$name] = is_null($value) ? 106 'null' : 107 "'" . pg_escape_string((string) $value) . "'"; 108 } 109 110 protected function _setDate($name, $value, $format) 111 { 112 if(is_int($value)) 113 { 114 $this->parameters[$name] = "'" . date($format, $value) . "'"; 115 } 116 else if(is_string($value)) 117 { 118 $this->parameters[$name] = "'" . pg_escape_string((string) $value) . "'"; 119 } 120 else 121 { 122 $this->parameters[$name] = 'null'; 123 } 124 } 125 126 function setDate($name, $value) 127 { 128 $this->_setDate($name, $value, 'Y-m-d'); 129 } 130 131 function setTime($name, $value) 132 { 133 $this->_setDate($name, $value, 'H:i:s'); 134 } 135 136 function setTimeStamp($name, $value) 137 { 138 $this->_setDate($name, $value, 'Y-m-d H:i:s'); 139 } 140 141 function setBlob($name, $value) 142 { 143 $this->parameters[$name] = is_null($value) ? 144 'null' : 145 "'" . pg_escape_bytea((string) $value) . "'"; 146 } 147 148 function set($name, $value) 149 { 150 if(is_string($value)) 151 { 152 $this->setChar($name, $value); 153 } 154 else if(is_int($value)) 155 { 156 $this->setInteger($name, $value); 157 } 158 else if(is_bool($value)) 159 { 160 $this->setBoolean($name, $value); 161 } 162 else if(is_float($value)) 163 { 164 $this->setFloat($name, $value); 165 } 166 else 167 { 168 $this->setNull($name); 169 } 170 } 171 172 function import($paramList) 173 { 174 foreach($paramList as $name=>$value) 175 { 176 $this->set($name, $value); 177 } 178 } 179 180 function getSQL() 181 { 182 $sql = $this->statement; 183 foreach($this->parameters as $key => $value) 184 { 185 $sql = str_replace(':' . $key . ':', $value, $sql); 186 } 187 return $sql; 188 } 189 190 function execute() 191 { 192 return $this->connection->execute($this->getSQL()); 193 } 194 } 195 196 ?>
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
| Generated: Tue Oct 14 04:47:40 2008 | Cross-referenced by PHPXref 0.7 |