2021042311194629187.jpg

php入门到就业线上直播课:进入学习
Apipost = Postman + Swagger + Mock + Jmeter 超好用的API调试工具:点击使用

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


PHP中PDO::setAttribute的深度解析