diff --git a/reference/mysqlnd/overview.xml b/reference/mysqlnd/overview.xml index 64f6e8abb6..57f29ebcbf 100644 --- a/reference/mysqlnd/overview.xml +++ b/reference/mysqlnd/overview.xml @@ -1,155 +1,155 @@ - - - - Overview - - MySQL Native Driver is a replacement for the MySQL Client Library - (libmysql). MySQL Native Driver is part of the official PHP sources as - of PHP 5.3.0. - - - The MySQL database extensions MySQL extension, - mysqli and PDO MYSQL all communicate with the MySQL - server. In the past, this was done by the extension using the services - provided by the MySQL Client Library. The extensions were compiled - against the MySQL Client Library in order to use its client-server - protocol. - - - With MySQL Native Driver there is now an alternative, as the MySQL - database extensions can be compiled to use MySQL Native Driver instead - of the MySQL Client Library. - - - MySQL Native Driver is written in C as a PHP extension. - - - What it is not - - - Although MySQL Native Driver is written as a PHP extension, it is - important to note that it does not provide a new API to the PHP - programmer. The programmer APIs for MySQL database connectivity are - provided by the MySQL extension, mysqli and PDO - MYSQL. These extensions can now use the services of MySQL Native - Driver to communicate with the MySQL Server. Therefore, you should not - think of MySQL Native Driver as an API. - - - Why use it? - - - Using the MySQL Native Driver offers a number of advantages over using - the MySQL Client Library. - - - The older MySQL Client Library was written by MySQL AB (now Oracle - Corporation) and so was released under the MySQL license. This - ultimately led to MySQL support being disabled by default in PHP. - However, the MySQL Native Driver has been developed as part of the PHP - project, and is therefore released under the PHP license. This removes - licensing issues that have been problematic in the past. - - - Also, in the past, you needed to build the MySQL database extensions - against a copy of the MySQL Client Library. This typically meant you - needed to have MySQL installed on a machine where you were building - the PHP source code. Also, when your PHP application was running, the - MySQL database extensions would call down to the MySQL Client library - file at run time, so the file needed to be installed on your system. - With MySQL Native Driver that is no longer the case as it is included - as part of the standard distribution. So you do not need MySQL - installed in order to build PHP or run PHP database applications. - - - Because MySQL Native Driver is written as a PHP extension, it is - tightly coupled to the workings of PHP. This leads to gains in - efficiency, especially when it comes to memory usage, as the driver - uses the PHP memory management system. It also supports the PHP memory - limit. Using MySQL Native Driver leads to comparable or better - performance than using MySQL Client Library, it always ensures the - most efficient use of memory. One example of the memory efficiency is - the fact that when using the MySQL Client Library, each row is stored - in memory twice, whereas with the MySQL Native Driver each row is only - stored once in memory. - - - Special features - - - MySQL Native Driver also provides some special features not available - when the MySQL database extensions use MySQL Client Library. These - special features are listed below: - - - - - Improved persistent connections - - - - - The special function mysqli_fetch_all - - - - - Performance statistics calls: - mysqli_get_cache_stats, - mysqli_get_client_stats, - mysqli_get_connection_stats - - - - - The performance statistics facility can prove to be very useful in - identifying performance bottlenecks. - - - MySQL Native Driver also allows for persistent connections when used - with the mysqli extension. - - - SSL Support - - - MySQL Native Driver has supported SSL since PHP version 5.3.3 - - - Compressed Protocol Support - - - As of PHP 5.3.2 MySQL Native Driver supports the compressed client - server protocol. MySQL Native Driver did not support this in 5.3.0 and - 5.3.1. Extensions such as ext/mysql, - ext/mysqli, PDO_MYSQL, that are - configured to use MySQL Native Driver, can also take advantage of this - feature. - - - Named Pipes Support - - - Named pipes support for Windows was added in PHP version 5.3.4. - - - + + + + Overview + + MySQL Native Driver is a replacement for the MySQL Client Library + (libmysql). MySQL Native Driver is part of the official PHP sources as + of PHP 5.3.0. + + + The MySQL database extensions MySQL extension, + mysqli and PDO MYSQL all communicate with the MySQL + server. In the past, this was done by the extension using the services + provided by the MySQL Client Library. The extensions were compiled + against the MySQL Client Library in order to use its client-server + protocol. + + + With MySQL Native Driver there is now an alternative, as the MySQL + database extensions can be compiled to use MySQL Native Driver instead + of the MySQL Client Library. + + + MySQL Native Driver is written in C as a PHP extension. + + + What it is not + + + Although MySQL Native Driver is written as a PHP extension, it is + important to note that it does not provide a new API to the PHP + programmer. The programmer APIs for MySQL database connectivity are + provided by the MySQL extension, mysqli and PDO + MYSQL. These extensions can now use the services of MySQL Native + Driver to communicate with the MySQL Server. Therefore, you should not + think of MySQL Native Driver as an API. + + + Why use it? + + + Using the MySQL Native Driver offers a number of advantages over using + the MySQL Client Library. + + + The older MySQL Client Library was written by MySQL AB (now Oracle + Corporation) and so was released under the MySQL license. This + ultimately led to MySQL support being disabled by default in PHP. + However, the MySQL Native Driver has been developed as part of the PHP + project, and is therefore released under the PHP license. This removes + licensing issues that have been problematic in the past. + + + Also, in the past, you needed to build the MySQL database extensions + against a copy of the MySQL Client Library. This typically meant you + needed to have MySQL installed on a machine where you were building + the PHP source code. Also, when your PHP application was running, the + MySQL database extensions would call down to the MySQL Client library + file at run time, so the file needed to be installed on your system. + With MySQL Native Driver that is no longer the case as it is included + as part of the standard distribution. So you do not need MySQL + installed in order to build PHP or run PHP database applications. + + + Because MySQL Native Driver is written as a PHP extension, it is + tightly coupled to the workings of PHP. This leads to gains in + efficiency, especially when it comes to memory usage, as the driver + uses the PHP memory management system. It also supports the PHP memory + limit. Using MySQL Native Driver leads to comparable or better + performance than using MySQL Client Library, it always ensures the + most efficient use of memory. One example of the memory efficiency is + the fact that when using the MySQL Client Library, each row is stored + in memory twice, whereas with the MySQL Native Driver each row is only + stored once in memory. + + + Special features + + + MySQL Native Driver also provides some special features not available + when the MySQL database extensions use MySQL Client Library. These + special features are listed below: + + + + + Improved persistent connections + + + + + The special function mysqli_fetch_all + + + + + Performance statistics calls: + mysqli_get_cache_stats, + mysqli_get_client_stats, + mysqli_get_connection_stats + + + + + The performance statistics facility can prove to be very useful in + identifying performance bottlenecks. + + + MySQL Native Driver also allows for persistent connections when used + with the mysqli extension. + + + SSL Support + + + MySQL Native Driver has supported SSL since PHP version 5.3.3 + + + Compressed Protocol Support + + + As of PHP 5.3.2 MySQL Native Driver supports the compressed client + server protocol. MySQL Native Driver did not support this in 5.3.0 and + 5.3.1. Extensions such as ext/mysql, + ext/mysqli, that are configured to use MySQL Native Driver, + can also take advantage of this feature. Note that PDO_MYSQL + does NOT support compression when used together with mysqlnd. + + + Named Pipes Support + + + Named pipes support for Windows was added in PHP version 5.3.4. + + + diff --git a/reference/pdo_mysql/constants.xml b/reference/pdo_mysql/constants.xml index b2e9bd27e3..26cf9a3335 100644 --- a/reference/pdo_mysql/constants.xml +++ b/reference/pdo_mysql/constants.xml @@ -92,7 +92,8 @@ if ($db->getAttribute(PDO::ATTR_DRIVER_NAME) == 'mysql') { - Maximum buffer size. Defaults to 1 MiB. + Maximum buffer size. Defaults to 1 MiB. This constant is not supported when + compiled against mysqlnd. @@ -107,6 +108,42 @@ if ($db->getAttribute(PDO::ATTR_DRIVER_NAME) == 'mysql') { + + + PDO::MYSQL_ATTR_FOUND_ROWS + (integer) + + + + Return the number of found (matched) rows, not the + number of changed rows. + + + + + + PDO::MYSQL_ATTR_IGNORE_SPACE + (integer) + + + + Permit spaces after function names. Makes all functions + names reserved words. + + + + + + PDO::MYSQL_ATTR_COMPRESS + (integer) + + + + Enable network communication compression. This is not supported when + compiled against mysqlnd. + + +