一致。`pdo\mysql::attr_found_rows` 的值为 3,与旧版 `pdo::mysql_attr_found_rows` 完全相同。调用 `rowcount()` 时,如果连接初始化时设置了该属性为 true,则返回的是受搜索影响的行数(即匹配的行数),而不是实际被修改或删除的行数。

Pdo\Mysql::ATTR_FOUND_ROWS 常量值是多少
在 PHP 8.0+ 中,`Pdo\Mysql::ATTR_FOUND_ROWS` 的值固定为 3。它与旧版常量 `PDO::MYSQL_ATTR_FOUND_ROWS` 的值保持一致,开发者可以直接使用新的命名空间常量,无需担心版本兼容性问题。

const ATTR_FOUND_ROWS = 3;
如何启用 FOUND_ROWS 功能
要在 PDO MySQL 驱动中启用此功能,必须在创建 PDO 实例时通过构造函数参数或 `setAttribute` 方法设置该属性。默认情况下,`rowCount()` 返回的是实际受影响(affected)的行数,启用后才会返回 SQL 语句匹配的行数。
安装、修复、更新或打包一个基于 Python 和 PyMySQL 实现的 Windows `mysql` 命令。适用于用户希望在 PowerShell/CMD 中输入 `mysql` 时重定向到 Python 实现、需要交互式输入 MySQL 连接信息、需要同步到当前用户本地 bin 目录,或需要将该能力封装成可公开复用的 Codex skill。

$pdo = new PDO('mysql:host=localhost;dbname=test', 'user', 'pass', [ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, Pdo\Mysql::ATTR_FOUND_ROWS => true]);
rowCount 在不同操作下的返回值差异
对于 DELETE 和 UPDATE 语句,启用 `FOUND_ROWS` 后,`rowCount()` 返回的是 WHERE 条件匹配的行数,即使这些行最终没有被修改(例如 UPDATE 时新值与原值相同)。对于 SELECT 语句,`rowCount()` 的行为取决于驱动程序,MySQL 驱动通常返回匹配的行数,但这并非标准行为,建议对 SELECT 使用 `fetchColumn()` 获取行数。










