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 [2019/11/12 11:24] – [setConnectionParameter] dregadv5:reference:connection:setconnectionparameter [2022/07/13 03:47] (current) – [IDM DB2] mnewnham
Line 12: Line 12:
 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.  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 +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
-===== Usage =====+ 
 +===== 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. 
 +<code php> 
 + 
 +$db = ADONewConnection('mysqli'); 
 +$db->setConnectionParameter(MYSQLI_SET_CHARSET_NAME, 'utf8mb4'); 
 +$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> <code php>
 /* /*
- Connecting to DB2 Database+ Example setting the character set
  */  */
 +$db->setConnectionParameter('CharacterSet','UTF-8');
 +$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>
 +/*
 + * Example Setting Auto-commit
 + */
 $db->setConnectionParameter('autocommit',DB2_AUTOCOMMIT_ON); $db->setConnectionParameter('autocommit',DB2_AUTOCOMMIT_ON);
 $db->connect('database','user','password'); $db->connect('database','user','password');
 +</code>
  
 +==== PDO Driver ====
 +Any parameter from the PHP [[https://www.php.net/manual/en/pdo.setattribute|PDO Attribute List]]
  
 +<code php>
 /* /*
-Connecting to a SQL Server database + Example Setting Timeout Duration 
-*/ + */ 
-$db->setConnectionParameter('CharacterSet','UTF-8'); +$db->setConnectionParameter(PDO::ATTR_TIMEOUT,60); 
-$db->connect('database','user','password');+$db->connect(mysql:$dsn,'user','password');
 </code> </code>
v5/reference/connection/setconnectionparameter.1573554254.txt.gz · Last modified: 2019/11/12 11:24 by dregad