多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
`sys\Pdo` 是使用 `php_pdo` 扩展开发,具有预编译SQL的功能,能很好的防止SQL注入,使用时你不需要做额外的转义操作。 ## 配置文件定义 `Pdo` 类的配置文件是独立的,在 `config` 目录的 `pdo.php` 文件里,默认内容如下: > 你需要在该配置文件内填入你的数据库连接信息 ~~~ // pdo 配置文件 return [ // 数据源格式 'dsn_format' => '[type]:host=[hostname];port=[hostport];charset=[charset];dbname=[database]', // 数据库类型 'type' => 'mysql', // 服务器地址 'hostname' => '127.0.0.1', // 数据库连接端口 'hostport' => '3306', // 数据库用户名 'username' => 'root', // 数据库密码 'password' => '', // 数据库名 'database' => '', // 数据库编码默认采用utf8 'charset' => 'utf8', // 设置PDO属性: http://php.net/manual/zh/pdo.setattribute.php 'attribute' => [ // 设置默认的提取模式: \PDO::FETCH_OBJ | \PDO::FETCH_ASSOC \PDO::ATTR_DEFAULT_FETCH_MODE => \PDO::FETCH_OBJ, // 转换 NULL 和空字符串(在所有驱动中都可用,不仅限于Oracle) \PDO::ATTR_ORACLE_NULLS => \PDO::NULL_NATURAL, // 强制列名为指定的大小写 \PDO::ATTR_CASE => \PDO::CASE_NATURAL, ], // 强制列名为驼峰 'case_camel' => true, // 事务 'transaction' => [ // 回滚含有零影响行数的事务 'rollback_zero_affected' => true, ], ]; ~~~ ## 设置PDO属性 `attribute` 配置项里是一个配置数组,使用的是PDO库官方提供的配置选项,详情请查看:http://php.net/manual/zh/pdo.setattribute.php ## 强制列名为驼峰 `case_camel` 配置为 `true` 时,返回的结果集内的数据,字段名称蛇形命名将强制转换为驼峰命名。 ~~~ user_name ~~~ 将转换为: ~~~ userName ~~~ ## 回滚含有零影响行数的事务 `pdo.transaction.rollback_zero_affected` 配置为 `true` 时,事务内的任意一条 `SQL` 如果返回的影响行数为零,本次事务将回滚。