ADOdb

Database Abstraction Layer for PHP

User Tools

Site Tools


v5:reference:connection:setconnectionparameter

setConnectionParameter

Syntax

From ADOdb Version 5.21.0

void setConnectionParameter(
    string $parameterName,
    mixed $parameterValue
    )

Description

The function setConnectionParameter() permits the setting of parameters before a database connection is established. This allows the specified parameters to be passed to the connect statement.

If used in a portable environment, parameters set in this manner should be predicated on the database provider, as unexpected results may occur if applied to the wrong database.

Database Specific Values

MySQL

$parameterName must be one of the predefined constants defined in PHP documentation for the mysqli_options() function, or one of the specified ADOdb MySQLi custom connection parameters.

Custom Parameters

KeyExample ValueDescription
socketA string describing the location of an override socket name on the MySql server
port3306An override value for the connection port
clientFlagsMYSQLI_CLIENT_SSL_VERIFY_SERVER_CERTAny of the allowed clientFlags values
sslarray('key'⇒“key.pem”, 'cert'⇒“cert.pem”, 'ca'⇒“cacert.pem”, 'capath' ⇒ null, 'cipher'⇒null) An array of values that describes an SSL connection to the MySQL Server

Examples

$db = ADONewConnection('mysqli');
$db->setConnectionParameter(MYSQLI_SET_CHARSET_NAME, 'utf8mb4');
$db->connect('hostname', 'user', 'password', 'database');

Workaround for setting Server side character set on MySQL

$SQL = "SET 
    character_set_results    = 'utf8mb4',
    character_set_client     = 'utf8mb4', 
    character_set_connection = 'utf8mb4',
    character_set_database   = 'utf8mb4', 
    character_set_server     = 'utf8mb4'";
$db->execute($SQL);

Firebird

$parameterName must be a string containing one of the 3 following values:

  • role
  • dialect
  • buffers
$db = ADONewConnection('firebird');
$db->setConnectionParameter('dialect',2);
$db->connect($database,$user,$password);

Oracle

$parameterName must be one of the following

session_mode

Sets the Oracle Session Mode. The default value is OCI_DEFAULT. Other values are:

  • OCI_CRED_EXT
  • OCI_SYSOPER
  • OCI_SYSDBA
$db = ADONewConnection('oci8');
$db->setConnectionParameter('session_mode',OCI_SYSDBA);
$db->connect($database,$user,$password);

client_identifier

(ADOdb >= 5.21.3)

Sets the Oracle Client Identifier.

$db = ADONewConnection('oci8');
$db->setConnectionParameter('client_identifier',$_SESSION['username']);
$db->connect($database,$user,$password);

SQL Server

Parameters must be set from the list of Microsoft PHP Connection Options

/*
 * Example setting the character set
 */
$db->setConnectionParameter('CharacterSet','UTF-8');
$db->connect('database','user','password');

IDM DB2

Parameters must be chosen from the list of DB2 Connection Parameters

/*
 * Example Setting Auto-commit
 */
$db->setConnectionParameter('autocommit',DB2_AUTOCOMMIT_ON);
$db->connect('database','user','password');

PDO Driver

Any parameter from the PHP PDO Attribute List

/*
 * Example Setting Timeout Duration
 */
$db->setConnectionParameter(PDO::ATTR_TIMEOUT,60);
$db->connect(mysql:$dsn,'user','password');
v5/reference/connection/setconnectionparameter.txt · Last modified: by mnewnham