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

Next revision
Previous revision
Next revisionBoth sides next revision
v5:reference:setconnectionparameter [2016/01/13 02:31] – ↷ Page moved from reference:setconnectionparameter to v5:reference:setconnectionparameter mnewnhamv5:reference:connection:setconnectionparameter [2022/07/13 03:27] – [IDM DB2] mnewnham
Line 3: Line 3:
 <WRAP right box> <WRAP right box>
 == Syntax == == Syntax ==
-  From ADOdb Version 5.21.0 +From ADOdb Version 5.21.0
-  +
   void setConnectionParameter(   void setConnectionParameter(
       string $parameterName,       string $parameterName,
Line 13: 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> <code php>
-/* 
- * Connecting to DB2 Database 
- */ 
  
-$db->setConnectionParameter('autocommit',DB2_AUTOCOMMIT_ON); +$db = ADONewConnection('mysqli'); 
-$db->connect('database','user','password');+$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>
 /* /*
-Connecting to a SQL Server database + Example setting the character set 
-*/+ */
 $db->setConnectionParameter('CharacterSet','UTF-8'); $db->setConnectionParameter('CharacterSet','UTF-8');
 $db->connect('database','user','password'); $db->connect('database','user','password');
 </code> </code>
 +
 +==== IDM DB2 ====
 +<code php>
 +/*
 + * Connecting to DB2 Database
 + */
 +$db->setConnectionParameter('autocommit',DB2_AUTOCOMMIT_ON);
 +$db->connect('database','user','password');
 +</code>
 +
v5/reference/connection/setconnectionparameter.txt · Last modified: 2022/07/13 03:47 by mnewnham