コード例 #1
0
 /**
  * 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);
 }
コード例 #2
0
 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;
     }
 }
コード例 #3
0
 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;
     }
 }
コード例 #4
0
 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;
     }
 }