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 [2022/07/13 03:47] (current) – [IDM DB2] 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.
-===== Usage =====+
 <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.txt · Last modified: 2022/07/13 03:47 by mnewnham