| [ 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 lmbSqliteStatement. 13 * 14 * @package dbal 15 * @version $Id$ 16 */ 17 class lmbSqliteStatement 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 "'" . sqlite_escape_string((string) $value) . "'"; 94 } 95 96 function setVarChar($name, $value) 97 { 98 $this->parameters[$name] = is_null($value) ? 99 'null' : 100 "'" . sqlite_escape_string((string) $value) . "'"; 101 } 102 103 function setClob($name, $value) 104 { 105 $this->parameters[$name] = is_null($value) ? 106 'null' : 107 "'" . sqlite_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] = "'" . sqlite_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->setChar($name, $value); 144 } 145 146 function set($name, $value) 147 { 148 if(is_string($value)) 149 { 150 $this->setChar($name, $value); 151 } 152 else if(is_int($value)) 153 { 154 $this->setInteger($name, $value); 155 } 156 else if(is_bool($value)) 157 { 158 $this->setBoolean($name, $value); 159 } 160 else if(is_float($value)) 161 { 162 $this->setFloat($name, $value); 163 } 164 else 165 { 166 $this->setNull($name); 167 } 168 } 169 170 function import($paramList) 171 { 172 foreach($paramList as $name=>$value) 173 { 174 $this->set($name, $value); 175 } 176 } 177 178 function getSQL() 179 { 180 $sql = $this->statement; 181 foreach($this->parameters as $key => $value) 182 { 183 $sql = str_replace(':' . $key . ':', $value, $sql); 184 } 185 return $sql; 186 } 187 188 function execute() 189 { 190 return (bool)$this->connection->execute($this->getSQL()); 191 } 192 } 193 194 ?>
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
| Generated: Thu Aug 28 04:51:15 2008 | Cross-referenced by PHPXref 0.7 |