27 #require_once 'Zend/Db/Adapter/Abstract.php'; 33 #require_once 'Zend/Db/Statement/Pdo.php'; 66 unset($dsn[
'username']);
67 unset($dsn[
'password']);
68 unset($dsn[
'options']);
69 unset($dsn[
'charset']);
70 unset($dsn[
'persistent']);
71 unset($dsn[
'driver_options']);
74 foreach ($dsn as $key => $val) {
75 $dsn[$key] =
"$key=$val";
78 return $this->_pdoType .
':' . implode(
';', $dsn);
90 if ($this->_connection) {
98 if (!extension_loaded(
'pdo')) {
102 #require_once 'Zend/Db/Adapter/Exception.php'; 107 if (!in_array($this->_pdoType, PDO::getAvailableDrivers())) {
111 #require_once 'Zend/Db/Adapter/Exception.php'; 119 if (isset($this->_config[
'persistent']) && ($this->_config[
'persistent'] ==
true)) {
120 $this->_config[
'driver_options'][PDO::ATTR_PERSISTENT] =
true;
124 $this->_connection =
new PDO(
126 $this->_config[
'username'],
127 $this->_config[
'password'],
128 $this->_config[
'driver_options']
131 $this->_profiler->queryEnd($q);
134 $this->_connection->setAttribute(PDO::ATTR_CASE, $this->_caseFolding);
137 $this->_connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
139 }
catch (PDOException $e) {
143 #require_once 'Zend/Db/Adapter/Exception.php'; 156 return ((
bool) ($this->_connection instanceof PDO));
166 $this->_connection =
null;
181 #require_once 'Zend/Loader.php'; 184 $stmt =
new $stmtClass($this, $sql);
185 $stmt->setFetchMode($this->_fetchMode);
209 return $this->_connection->lastInsertId();
221 public function query($sql, $bind = array())
224 $bind = $sql->getBind();
227 if (is_array($bind)) {
229 if (!is_int(
$name) && !preg_match(
'/^:/',
$name)) {
238 return parent::query($sql, $bind);
239 }
catch (PDOException $e) {
243 #require_once 'Zend/Db/Statement/Exception.php'; 259 $sql = $sql->assemble();
265 if ($affected ===
false) {
270 #require_once 'Zend/Db/Adapter/Exception.php'; 275 }
catch (PDOException $e) {
279 #require_once 'Zend/Db/Adapter/Exception.php'; 296 return $this->_connection->quote(
$value);
305 $this->_connection->beginTransaction();
314 $this->_connection->commit();
322 $this->_connection->rollBack();
337 if (!extension_loaded(
'pdo')) {
341 #require_once 'Zend/Db/Adapter/Exception.php'; 345 case PDO::FETCH_LAZY:
346 case PDO::FETCH_ASSOC:
348 case PDO::FETCH_BOTH:
349 case PDO::FETCH_NAMED:
351 $this->_fetchMode =
$mode;
357 #require_once 'Zend/Db/Adapter/Exception.php'; 388 $version = $this->_connection->getAttribute(PDO::ATTR_SERVER_VERSION);
389 }
catch (PDOException $e) {
394 if (preg_match(
'/((?:[0-9]{1,2}\.){1,3}[0-9]{1,2})/',
$version, $matches)) {
lastInsertId($tableName=null, $primaryKey=null)
static loadClass($class, $dirs=null)
supportsParameters($type)
if($exist=($block->getProductCollection() && $block->getProductCollection() ->getSize())) $mode
query($sql, $bind=array())
if(!isset($_GET['name'])) $name