/** * Retrieve a database connection attribute * * @link http://www.php.net/manual/en/pdo.getattribute.php * @param * attribute int <p> * One of the PDO::ATTR_* constants. The constants that * apply to database connections are as follows: * PDO::ATTR_AUTOCOMMIT * PDO::ATTR_CASE * PDO::ATTR_CLIENT_VERSION * PDO::ATTR_CONNECTION_STATUS * PDO::ATTR_DRIVER_NAME * PDO::ATTR_ERRMODE * PDO::ATTR_ORACLE_NULLS * PDO::ATTR_PERSISTENT * PDO::ATTR_PREFETCH * PDO::ATTR_SERVER_INFO * PDO::ATTR_SERVER_VERSION * PDO::ATTR_TIMEOUT * </p> * @return mixed A successful call returns the value of the requested PDO * attribute. * An unsuccessful call returns null. */ public function getAttribute($attribute) { if (func_num_args() != 1 || !is_int($attribute)) { return false; } return $this->driver->getAttribute($attribute); }
public function getAttribute($attribute, &$source = null, $func = 'PDO::getAttribute', &$last_error = null) { switch ($attribute) { case EhrlichAndreas_Pdo_Abstract::ATTR_AUTOCOMMIT: return $this->autocommit; break; case EhrlichAndreas_Pdo_Abstract::ATTR_PREFETCH: break; case EhrlichAndreas_Pdo_Abstract::ATTR_CLIENT_VERSION: return oci_server_version($this->link); break; case EhrlichAndreas_Pdo_Abstract::ATTR_SERVER_VERSION: $ver = oci_server_version($this->link); if (preg_match('/([0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+)/', $ver, $match)) { return $match[1]; } return $ver; break; case EhrlichAndreas_Pdo_Abstract::ATTR_SERVER_INFO: return oci_server_version($this->link); break; default: return parent::getAttribute($attribute, $source, $func, $last_error); break; } }
public function getAttribute($attribute, &$source = null, $func = 'PDO::getAttribute', &$last_error = null) { if ($source == null) { $source =& $this->driver_options; } switch ($attribute) { case EhrlichAndreas_Pdo_Abstract::ATTR_AUTOCOMMIT: $result = mysqli_query($this->link, 'SELECT @@AUTOCOMMIT', MYSQLI_USE_RESULT); if (!$result) { $this->set_driver_error(null, EhrlichAndreas_Pdo_Abstract::ERRMODE_EXCEPTION, $func); } $row = mysqli_fetch_row($result); mysqli_free_result($result); return intval($row[0]); break; case EhrlichAndreas_Pdo_Abstract::ATTR_CLIENT_VERSION: return mysqli_get_client_info(); break; case EhrlichAndreas_Pdo_Abstract::ATTR_CONNECTION_STATUS: return mysqli_get_host_info($this->link); break; case EhrlichAndreas_Pdo_Abstract::ATTR_SERVER_INFO: return mysqli_stat($this->link); break; case EhrlichAndreas_Pdo_Abstract::ATTR_SERVER_VERSION: return mysqli_get_server_info($this->link); break; default: return parent::getAttribute($attribute, $source, $func, $last_error); break; } }
public function getAttribute($attribute, &$source = null, $func = 'PDO::getAttribute', &$last_error = null) { switch ($attribute) { case EhrlichAndreas_Pdo_Abstract::ATTR_AUTOCOMMIT: return $this->autocommit; break; case EhrlichAndreas_Pdo_Abstract::ATTR_CLIENT_VERSION: return sqlite_libversion(); break; case EhrlichAndreas_Pdo_Abstract::ATTR_SERVER_VERSION: return sqlite_libversion(); break; default: return parent::getAttribute($attribute, $source, $func, $last_error); break; } }