/** * Executes the current select object and returns the result * * @param integer $fetchMode * OPTIONAL * @param mixed $bind * An array of data to bind to the placeholders. * @return EhrlichAndreas_Pdo_Statement EhrlichAndreas_Db_Statement */ public function query($fetchMode = null, $bind = array()) { if (!empty($bind) && method_exists($this, 'bind')) { $this->bind($bind); } $stmt = $this->_adapter->query($this); if ($fetchMode == null) { $fetchMode = $this->_adapter->getFetchMode(); } $stmt->setFetchMode($fetchMode); return $stmt; }
/** * Prepares and executes an SQL statement with bound data. * * @param mixed $sql * The SQL statement with placeholders. * May be a string or EhrlichAndreas_Db_Select. * @param mixed $bind * An array of data to bind to the placeholders. * @return EhrlichAndreas_Db_Statement_Interface */ public function query($sql, $bind = array()) { return $this->adapter->query($sql, $bind); }
/** * Special handling for PDO query(). * All bind parameter names must begin with ':' * * @param string|EhrlichAndreas_Db_Select|Zend_Db_Select $sql * The SQL statement with placeholders. * @param array $bind * An array of data to bind to the placeholders. * @return EhrlichAndreas_Db_Adapter_Pdo_Abstract_Statement * @throws EhrlichAndreas_Db_Exception To re-throw PDOException. */ public function query($sql, $bind = array()) { if (empty($bind) && is_object($sql) && method_exists($sql, 'getBind')) { $bind = $sql->getBind(); } if (is_array($bind)) { foreach ($bind as $name => $value) { if (!is_int($name) && !preg_match('/^:/', $name)) { $newName = ":{$name}"; unset($bind[$name]); $bind[$newName] = $value; } } } try { return parent::query($sql, $bind); } catch (Exception $e) { /** * * @see EhrlichAndreas_Db_Exception */ throw new EhrlichAndreas_Db_Exception($e->getMessage(), $e->getCode(), $e); } }