ADOdb

Database Abstraction Layer for PHP

User Tools

Site Tools


v5:reference:connection:setconnectionparameter

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
v5:reference:connection:setconnectionparameter [2021/03/10 11:50] – Document need to use predefined constants for mysqli and add example dregadv5:reference:connection:setconnectionparameter [2026/01/30 04:21] (current) – [MySQL] mnewnham
Line 14: Line 14:
 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. 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.
  
-On 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.+===== 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, or one of the specified ADOdb MySQLi custom connection parameters.
  
 +=== Custom Parameters ===
 +^Key^Example Value^Description^
 +|socket||A string describing the location of an override socket name on the MySql server|
 +|port|3306|An override value for the connection port|
 +|clientFlags|MYSQLI_CLIENT_SSL_VERIFY_SERVER_CERT|Any of the allowed clientFlags values|
 +|ssl|array('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|
  
-===== Usage =====+=== Examples ===
 <code php> <code php>
-/* +
- * Connecting to a MySQL database +
- */+
 $db = ADONewConnection('mysqli'); $db = ADONewConnection('mysqli');
 $db->setConnectionParameter(MYSQLI_SET_CHARSET_NAME, 'utf8mb4'); $db->setConnectionParameter(MYSQLI_SET_CHARSET_NAME, 'utf8mb4');
 $db->connect('hostname', 'user', 'password', 'database'); $db->connect('hostname', 'user', 'password', 'database');
 +</code>
  
 +
 +=== Workaround for setting Server side character set on MySQL ===
 +<code php>
 +$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);
 +</code>
 +==== Firebird ====
 +//$parameterName// must be a string containing one of the 3 following values:
 +  * role
 +  * dialect
 +  * buffers
 +
 +<code php>
 +$db = ADONewConnection('firebird');
 +$db->setConnectionParameter('dialect',2);
 +$db->connect($database,$user,$password);
 +</code>
 +
 +==== 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''
 +
 +<code php>
 +$db = ADONewConnection('oci8');
 +$db->setConnectionParameter('session_mode',OCI_SYSDBA);
 +$db->connect($database,$user,$password);
 +</code>
 +
 +=== client_identifier ===
 +(ADOdb >= 5.21.3)
 +
 +Sets the [[https://www.php.net/manual/en/function.oci-set-client-identifier.php|Oracle Client Identifier]].
 +
 +<code php>
 +$db = ADONewConnection('oci8');
 +$db->setConnectionParameter('client_identifier',$_SESSION['username']);
 +$db->connect($database,$user,$password);
 +</code>
 +
 +
 +
 +
 +==== 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]]
 +
 +<code php>
 /* /*
- Connecting to DB2 Database+ Example setting the character set
  */  */
-$db->setConnectionParameter('autocommit',DB2_AUTOCOMMIT_ON);+$db->setConnectionParameter('CharacterSet','UTF-8');
 $db->connect('database','user','password'); $db->connect('database','user','password');
 +</code>
  
 +==== IDM DB2 ====
 +Parameters must be chosen from the list of DB2 [[https://www.php.net/manual/en/function.db2-connect|Connection Parameters]]
 +<code php>
 /* /*
- Connecting to a SQL Server database+ Example Setting Auto-commit
  */  */
-$db->setConnectionParameter('CharacterSet','UTF-8');+$db->setConnectionParameter('autocommit',DB2_AUTOCOMMIT_ON);
 $db->connect('database','user','password'); $db->connect('database','user','password');
 </code> </code>
  
 +==== PDO Driver ====
 +Any parameter from the PHP [[https://www.php.net/manual/en/pdo.setattribute|PDO Attribute List]]
 +
 +<code php>
 +/*
 + * Example Setting Timeout Duration
 + */
 +$db->setConnectionParameter(PDO::ATTR_TIMEOUT,60);
 +$db->connect(mysql:$dsn,'user','password');
 +</code>
v5/reference/connection/setconnectionparameter.1615373440.txt.gz · Last modified: by dregad