/** * Set an attribute * * @link http://www.php.net/manual/en/pdo.setattribute.php * @param * attribute int * @param * value mixed * @return bool Returns true on success or false on failure. */ public function setAttribute($attribute, $value) { if (func_num_args() != 2) { return false; } return $this->driver->setAttribute($attribute, $value); }
public function setAttribute($attribute, $value, &$source = null, $func = 'PDO::setAttribute', &$last_error = null) { if ($source == null) { $source =& $this->driver_options; } switch ($attribute) { case EhrlichAndreas_Pdo_Abstract::ATTR_AUTOCOMMIT: $this->autocommit = $value ? 1 : 0; return true; break; default: return parent::setAttribute($attribute, $value, $source, $func, $last_error); break; } return false; }
public function setAttribute($attribute, $value, &$source = null, $func = 'PDO::setAttribute', &$last_error = null) { if ($source == null) { $source =& $this->driver_options; } switch ($attribute) { case EhrlichAndreas_Pdo_Abstract::ATTR_AUTOCOMMIT: $value = $value ? 1 : 0; if (!mysql_unbuffered_query('SET AUTOCOMMIT = ' . $value, $this->link)) { $this->set_driver_error(null, EhrlichAndreas_Pdo_Abstract::ERRMODE_EXCEPTION, $func); } return true; break; case EhrlichAndreas_Pdo_Abstract::ATTR_TIMEOUT: $value = intval($value); if ($value > 1 && @ini_set('mysql.connect_timeout', $value)) { return true; } break; case EhrlichAndreas_Pdo_Adapter_Abstract::MYSQL_ATTR_LOCAL_INFILE: $value = $value ? true : false; $source[EhrlichAndreas_Pdo_Adapter_Abstract::MYSQL_ATTR_LOCAL_INFILE] = $value; if ($value && !($this->client_flags & 128)) { $this->client_flags |= 128; } elseif (!$value && $this->client_flags & 128) { $this->client_flags &= ~128; } return true; break; case EhrlichAndreas_Pdo_Adapter_Abstract::MYSQL_ATTR_INIT_COMMAND: if ($value) { $source[EhrlichAndreas_Pdo_Adapter_Abstract::MYSQL_ATTR_INIT_COMMAND] = $value; return true; } break; /* * case EhrlichAndreas_Pdo_Adapter_Abstract::MYSQL_ATTR_READ_DEFAULT_FILE: * break; case * EhrlichAndreas_Pdo_Adapter_Abstract::MYSQL_ATTR_READ_DEFAULT_GROUP: * break; case * EhrlichAndreas_Pdo_Adapter_Abstract::MYSQL_ATTR_MAX_BUFFER_SIZE: break; * case EhrlichAndreas_Pdo_Adapter_Abstract::MYSQL_ATTR_DIRECT_QUERY: * break; */ /* * case EhrlichAndreas_Pdo_Adapter_Abstract::MYSQL_ATTR_READ_DEFAULT_FILE: * break; case * EhrlichAndreas_Pdo_Adapter_Abstract::MYSQL_ATTR_READ_DEFAULT_GROUP: * break; case * EhrlichAndreas_Pdo_Adapter_Abstract::MYSQL_ATTR_MAX_BUFFER_SIZE: break; * case EhrlichAndreas_Pdo_Adapter_Abstract::MYSQL_ATTR_DIRECT_QUERY: * break; */ default: return parent::setAttribute($attribute, $value, $source, $func, $last_error); break; } return false; }
public function setAttribute($attribute, $value, &$source = null, $func = 'PDO::setAttribute', &$last_error = null) { if ($source == null) { $source =& $this->driver_options; } switch ($attribute) { case EhrlichAndreas_Pdo_Abstract::ATTR_AUTOCOMMIT: $value = $value ? 1 : 0; if (!mysqli_autocommit($this->link, $value)) { $this->set_driver_error(null, EhrlichAndreas_Pdo_Abstract::ERRMODE_EXCEPTION, $func); } return true; break; case EhrlichAndreas_Pdo_Abstract::ATTR_TIMEOUT: $value = intval($value); if ($value > 1 && mysqli_options($this->link, MYSQLI_OPT_CONNECT_TIMEOUT, $value)) { $source[EhrlichAndreas_Pdo_Abstract::ATTR_TIMEOUT] = $value; return true; } break; case EhrlichAndreas_Pdo_Adapter_Abstract::MYSQL_ATTR_LOCAL_INFILE: $value = $value ? true : false; if (mysqli_options($this->link, MYSQLI_OPT_LOCAL_INFILE, $value)) { $source[EhrlichAndreas_Pdo_Adapter_Abstract::MYSQL_ATTR_LOCAL_INFILE] = $value; return true; } break; case EhrlichAndreas_Pdo_Adapter_Abstract::MYSQL_ATTR_INIT_COMMAND: if ($value && mysqli_options($this->link, MYSQLI_INIT_COMMAND, $value)) { $source[EhrlichAndreas_Pdo_Adapter_Abstract::MYSQL_ATTR_INIT_COMMAND] = $value; return true; } break; case EhrlichAndreas_Pdo_Adapter_Abstract::MYSQL_ATTR_READ_DEFAULT_FILE: $value = $value ? true : false; if (mysqli_options($this->link, MYSQLI_READ_DEFAULT_FILE, $value)) { $source[EhrlichAndreas_Pdo_Adapter_Abstract::MYSQL_ATTR_READ_DEFAULT_FILE] = $value; return true; } break; case EhrlichAndreas_Pdo_Adapter_Abstract::MYSQL_ATTR_READ_DEFAULT_GROUP: $value = $value ? true : false; if (mysqli_options($this->link, MYSQLI_READ_DEFAULT_GROUP, $value)) { $source[EhrlichAndreas_Pdo_Adapter_Abstract::MYSQL_ATTR_READ_DEFAULT_GROUP] = $value; return true; } break; /* * case EhrlichAndreas_Pdo_Adapter_Abstract::MYSQL_ATTR_MAX_BUFFER_SIZE: * break; case * EhrlichAndreas_Pdo_Adapter_Abstract::MYSQL_ATTR_DIRECT_QUERY: break; */ /* * case EhrlichAndreas_Pdo_Adapter_Abstract::MYSQL_ATTR_MAX_BUFFER_SIZE: * break; case * EhrlichAndreas_Pdo_Adapter_Abstract::MYSQL_ATTR_DIRECT_QUERY: break; */ default: return parent::setAttribute($attribute, $value, $source, $func, $last_error); break; } return false; }