PHP中PDO::setAttribute的深度解析
PHP
中利用PDO
连接数据库属于基本操作,利用PDO
连接数据库后,获取的是Statement
类型的对象,我们可以利用setAttribute()
方法可以用来设置数据库句柄的属性,本文就带大家一起来看一看。
1.首先我们来看一看setAttribute()
的语法:
PDO::setAttribute ( int $attribute , mixed $value )
-
$attribute: 提供 PDO 对象特定的属性名
-
$value:指定的属性赋一个值
-
返回值为一个bool型的值
2.关于$attribute的属性
-
PDO::ATTR_CASE:强制列名为指定的大小写
-
PDO::ATTR_ERRMODE:错误报告。
-
PDO::ATTR_ORACLE_NULLS (在所有驱动中都可用,不仅限于Oracle): 转换 NULL 和空字符串。
-
PDO::ATTR_STRINGIFY_FETCHES: 提取的时候将数值转换为字符串
-
PDO::ATTR_STATEMENT_CLASS: 设置从PDOStatement派生的用户提供的语句类。需要 array
-
PDO::ATTR_TIMEOUT: 指定超时的秒数。
-
PDO::ATTR_AUTOCOMMIT 是否自动提交每个单独的语句。
-
PDO::ATTR_EMULATE_PREPARES 启用或禁用预处理语句的模拟。
-
PDO::MYSQL_ATTR_USE_BUFFERED_QUERY (在MySQL中可用): 使用缓冲查询。
-
PDO::ATTR_DEFAULT_FETCH_MODE: 设置默认的提取模式。
3.以PDO::ATTR_CASE为实例:
<?php $servername = "localhost"; $username = "root"; $password = "root123456"; $dbname = "my_database"; $pdo = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password); echo "连接成功"."<br>"; $pdo->setAttribute(PDO::ATTR_CASE, PDO::CASE_UPPER); echo $pdo -> getAttribute(PDO::ATTR_CASE); $pdo->setAttribute(PDO::ATTR_CASE, PDO::CASE_LOWER); echo $pdo -> getAttribute(PDO::ATTR_CASE); $pdo->setAttribute(PDO::ATTR_CASE, PDO::CASE_NATURAL); echo $pdo -> getAttribute(PDO::ATTR_CASE); ?>
输出: 1 2 0
推荐:《2021年PHP面试题大汇总(收藏)》《php视频教程》