fiberphp/database-mysql

🐬 FiberPHP MySQL 驱动 —— DSN 解析、时区配置、断线检测,兼容 MySQL 全版本。

Maintainers

Package info

gitee.com/FiberPHP/database-mysql

Issues

pkg:composer/fiberphp/database-mysql

Transparency log

Statistics

Installs: 0

Dependents: 1

Suggesters: 0

dev-master 2026-08-23 06:14 UTC

This package is auto-updated.

Last update: 2026-08-23 06:15:17 UTC


README

FiberPHP 框架的 MySQL 数据库驱动包。提供 MySQL DSN 拼接、会话时区设置、断线检测、MySQL SQL 方言(backtick 引用、SHOW FULL COLUMNS、rand()、ON DUPLICATE KEY UPDATE、VALUES(col))。

环境要求

  • PHP >= 8.3
  • ext-pdo
  • ext-pdo_mysql
  • MySQL >= 8.0
  • fiberphp/database dev-master

安装

composer require fiberphp/database-mysql

安装后框架通过 #[Package] 属性自动发现 Provider,在 register() 阶段调用 Db::registerDriver('mysql', Driver::class) 完成注册。无需手动配置。

方言实现

方法MySQL 实现
quoteIdentifier`name` 反引号引用
getColumnsSqlSHOW FULL COLUMNS FROM \table``
getTablesSqlSHOW TABLES [FROM db]
normalizeColumns解析 SHOW FULL COLUMNS 结果
randomFunctionrand()
buildUpsertPrefixON DUPLICATE KEY UPDATE
quoteExcludedColumnVALUES(col)

时区设置

// config/database.php
'mysql' => [
    'driver'   => 'mysql',
    'host'     => '127.0.0.1',
    'port'     => 3306,
    'database' => 'demo',
    'username' => 'root',
    'password' => '',
    'charset'  => 'utf8mb4',
    'timezone' => '+08:00',  // SET time_zone = '+08:00'
],

详细用法见 fiberphp/database