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
Last revisionBoth sides next revision
v5:reference:connection:setconnectionparameter [2016/01/17 01:19] – ↷ Page moved from v5:reference:setconnectionparameter to v5:reference:connection:setconnectionparameter mnewnhamv5:reference:connection:setconnectionparameter [2022/07/13 03:30] – [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 ====
 +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->connect('database','user','password');
 +</code>
 +
v5/reference/connection/setconnectionparameter.txt · Last modified: 2022/07/13 03:47 by mnewnham