polyfills/pdo-mysql-subclass

为PDO MySQL驱动子类提供的用户空间PHP polyfill。

v1.0.1 2024-01-14 17:26 UTC

This package is auto-updated.

Last update: 2024-09-14 18:58:50 UTC


README

Latest Stable Version License PHP Version Require CI

提供PHP 8.4提供的MySQL子类的用户空间PHP polyfill。

支持PHP 8.1、8.2和8.3。在PHP 8.4及以后版本中,此polyfill不是必需的。需要使用编译了mysqlndpdo_mysql扩展(这是默认和常见的方法)。

在PHP 8.4及以后版本中,需要此polyfill是可能且安全的。此polyfill类是可自动加载的;在PHP 8.4及以后版本中,PHP不会自动加载此polyfill,因为它已声明为原生。

有关更多信息,请参阅PdoMysqlPHP 8.4: PDO Driver-specific sub-classes: MySQL

安装

composer require polyfills/pdo-mysql-subclass

用法

使用提供的PdoMysql类替换PDO MySQL连接。

$mysqlConnection = new PdoMysql(
    'mysql:host=localhost;dbname=phpwatch;charset=utf8mb4;port=33066',
    '<username>',
    '<password>',
);
$mysqlConnection = PdoMysql::connect(
    'mysql:host=localhost;dbname=phpwatch;charset=utf8mb4;port=33066',
    '<username>',
    '<password>',
);

此polyfill向PdoMysql类添加了类常量,以匹配所有PDO::MYSQL_常量。例如,PDO::MYSQL_ATTR_SSL_CERTPdoMysql::ATTR_SSL_CERT相同。

未实现的功能

  • PDO::connect:由于这是现有的PHP类,用户空间PHP类无法修改,因此此方法无法进行polyfill。
  • PdoMysql::getWarningCount:此方法在polyfill中没有实现。

贡献

欢迎以GitHub问题或PR的形式为此仓库做出贡献。