====== setConnectionParameter ======
~~NOTOC~~
== 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 [[https://www.php.net/manual/en/mysqli.options.php|predefined constants]] defined in PHP documentation for the //mysqli_options()// function.
$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 [[https://www.php.net/manual/en/function.oci-set-client-identifier.php|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 [[https://docs.microsoft.com/en-us/sql/connect/php/connection-options|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 [[https://www.php.net/manual/en/function.db2-connect|Connection Parameters]]
/*
* Example Setting Auto-commit
*/
$db->setConnectionParameter('autocommit',DB2_AUTOCOMMIT_ON);
$db->connect('database','user','password');
==== PDO Driver ====
Any parameter from the PHP [[https://www.php.net/manual/en/pdo.setattribute|PDO Attribute List]]
/*
* Example Setting Timeout Duration
*/
$db->setConnectionParameter(PDO::ATTR_TIMEOUT,60);
$db->connect(mysql:$dsn,'user','password');