ADOdb

Database Abstraction Layer for PHP

User Tools

Site Tools


v5:database:mysql

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
Next revisionBoth sides next revision
database:mysql [2015/12/10 01:33] mnewnhamv5:database:mysql [2020/01/13 12:31] – Add tier1 tag dregad
Line 5: Line 5:
 == Specification == == Specification ==
 ^Driver Name|mysqli| ^Driver Name|mysqli|
-^Data Provider|mysql((ADOdb version 5, in ADOdb version 6 this driver will become a data provider))|+^Data Provider|mysql|
 ^Status|Active((This driver is actively supported by ADOdb project members))| ^Status|Active((This driver is actively supported by ADOdb project members))|
 ^Windows|Yes| ^Windows|Yes|
Line 12: Line 12:
 ^ADOdb V6|Yes| ^ADOdb V6|Yes|
 == Alternatives == == Alternatives ==
-[[database:pdo#pdo_mysql|PDO driver for MySQL]]+[[v5:database:pdo#pdo_mysql|PDO driver for MySQL]]
 </WRAP> </WRAP>
  
-** This is the preferred driver to connections to MySQL databases. ** +** This is the preferred driver for connections to the following databases:** 
-This preferred driver uses the PHP mysqli interface and supports all MySQL table types, with full support for transactions and rollback when the MySQL table type supports it. This driver replaces both **mysql** and **mysqlt** drivers. +  * [[http://mysql.com|MySQL]] 
-----------------------------------------------+  [[http://mariadb.com|MariaDB]] 
 +  [[http://percona.com|Percona]] 
 + 
 +This preferred driver uses the PHP **mysqli** interface and supports all table types, with full support for transactions and rollback when the table type supports it.  
 + 
 +This driver replaces both **mysql** and **mysqlt** drivers. 
 +------------------------------------------- 
 +===== Migrating To The mysqli driver ===== 
 +If you are still using the //**mysql**// or//**mysqlt**// drivers you should be planning on migrating to the mysqli driver. Support for both drivers is built into PHP up to version PHP 5.4. From an ADOdb standpoint, it is simply a case of switching from  
 + 
 + 
 + 
 +  $db = newAdoConnection('mysql'
 +to 
 +  $db = newAdoConnection('mysqli'
 + 
 +===== Driver Specific Issues ===== 
 +==== renameColumnSql ==== 
 +The method [[v5:dictionary:renamecolumnsql|renameColumnSql]] normally takes 3 parameters, ''$tableName'', 
 +''$oldColumnName'' and ''$newColumnName''. When used with the mysql provider, a full definition of the column must be provided, as if creating the column new 
 +==== Usage ==== 
 +<code php> 
 +/* 
 +* We are going to rename a column from col9 to col6. 
 +*/ 
 +$flds = 'col6 C(50) NOTNULL DEFAULT "BILL"'; 
 + 
 +# Then create a data dictionary object, using this connection 
 +$dict = NewDataDictionary($db); 
 + 
 +$sql = $dict->renameColumnSql($table,'col9','col6', $flds); 
 +</code> 
 +==== Connecting With SSL ==== 
 +From ADOdb version 5.21, you can make an SSL connection to MySQL in the following way: 
 + 
 +<code php> 
 +/* 
 +* Enable ADOdb 
 +*/ 
 +$db = newAdoConnection('mysqli'
 +/* 
 +* Set the SSL parameters 
 +*/ 
 +$db->ssl_key    = "key.pem"; 
 +$db->ssl_cert   = "cert.pem";  
 +$db->ssl_ca     = "cacert.pem"; 
 +$db->ssl_capath = null;  
 +$db->ssl_cipher = null;  
 + 
 +/* 
 +* Open the connection 
 +*/ 
 +$db->connect($host, $user, $password, $database); 
 +</code> 
 + 
 ===== mysql driver ===== ===== mysql driver =====
 <WRAP right box round 300px> <WRAP right box round 300px>
Line 29: Line 84:
 ^ADOdb V6|No| ^ADOdb V6|No|
 </WRAP> </WRAP>
-This driver uses the PHP original mysql driver and only provides support to non-transactional tables such as MyIsam. It cannot be used with the PHP 'Improved' MySQL driver. The PHP driver is deprecated as of PHP Version 5.5 and will be removed in PHP version 7. This driver is deprecated as of ADOdb version 5.20 and will be removed in ADOdb version 6.0. +This driver uses the PHP original mysql driver and only provides support to non-transactional tables such as MyIsam. 
------------------------------------------------------ +  
-If you are still using this driver (or the mysqlt driver derived from it) you should be planning on migrating to the mysqli driver. Support for both drivers is built into PHP up to version PHP 5.4. From an ADOdb standpoint, it is simply a case of switching from +  * It cannot be used with the PHP 'Improved' MySQL driver.  
 +  * The PHP driver is deprecated as of PHP Version 5.5 and will be removed in PHP version 7.  
 +  * This driver is deprecated as of ADOdb version 5.20 and will be removed in ADOdb version 6.0.
  
- 
- 
-  $db = newAdoConnection('mysql') 
-to 
-  $db = newAdoConnection('mysqli') 
  
 ----------------------------------------------- -----------------------------------------------
Line 51: Line 103:
 ^ADOdb V6|No| ^ADOdb V6|No|
 </WRAP> </WRAP>
-This driver uses the PHP original mysql driver and provided support to transactional tables such as InnoDB. It cannot be used with the PHP 'improved' MySQL driver. The PHP driver is deprecated as of PHP Version 5.5 and will be removed in PHP version 7. This driver is deprecated as of ADOdb version 5.20 and will be removed in ADOdb version 6.0+This driver uses the PHP original mysql driver and provided support to transactional tables such as InnoDB.  
 + 
 +  * It cannot be used with the PHP 'improved' MySQL driver.  
 +  * The PHP driver is deprecated as of PHP Version 5.5 and will be removed in PHP version 7.  
 +  * This driver is deprecated as of ADOdb version 5.20 and will be removed in ADOdb version 6.0 
 -------------------------------- --------------------------------
 ===== mysqlpo driver ===== ===== mysqlpo driver =====
Line 66: Line 123:
 This driver duplicates the functionality of the mysqlt driver and is not maintained. It will be removed in ADOdb version 6.0 This driver duplicates the functionality of the mysqlt driver and is not maintained. It will be removed in ADOdb version 6.0
 ------------------------------------------ ------------------------------------------
-===== Driver Specific Issues ===== 
-==== renameColumnSql ==== 
-The method [[dictionary:renameColumnSql|renameColumnSql]] normally takes 3 parameters, ''$tableName'', 
-''$oldColumnName'' and ''$newColumnName''. When used with the mysql provider, a full definition of the column must be provided, as if creating the column new 
-==== Usage ==== 
-<code php> 
-/* 
-* We are going to rename a column from col9 to col6. 
-*/ 
-$flds = 'col6 C(50) NOTNULL DEFAULT "BILL"'; 
  
-# Then create a data dictionary object, using this connection +{{tag>[MySQL windows unix supported tier1]}} 
-$dict = NewDataDictionary($db); +{{htmlmetatags>metatag-keywords=(php, programming, database, mysql, percona, mariadb)}}
- +
-$sql = $dict->renameColumnSql($table,'col9','col6', $flds); +
-</code>  +
-{{tag>[MySQL windows unix supported]}}+
v5/database/mysql.txt · Last modified: 2024/04/30 13:07 by dregad