在php中,setAttribute()方法可以用来设置数据库句柄的属性,语法格式“PDO::setAttribute(attribute,value)”;参数attribute指定PDO对象特定的属性名,value则为该属性赋一个值。
本教程操作环境:windows7系统、PHP7.1版,DELL G3电脑
如果在创建 PDO 对象时,没有在构造方法中最后一个参数设置过的属性选项,可以在对象创建完成以后,通过 PDO 对象中的 setAttribute() 和 getAttribute() 方法设置和获取这些属性的值。
其中,setAttribute() 方法可以用来设置数据库句柄的属性,语法格式如下:
PDO::setAttribute(int $attribute, mixed $value)
这个方法需要两个参数,第一个参数 $attribute 提供 PDO 对象特定的属性名,第二个参数 $value 则是为这个指定的属性赋一个值。下面列出了一些可用的通用属性名称和可以使用的值:
-
PDO::ATTR_CASE:强制列名为指定的大小写;
PDO::CASE_LOWER:强制列名小写;
PDO::CASE_NATURAL:保留数据库驱动返回的列名;
PDO::CASE_UPPER:强制列名大写。
-
PDO::ATTR_ERRMODE:错误报告;
PDO::ERRMODE_SILENT:仅设置错误代码;
PDO::ERRMODE_WARNING:引发 E_WARNING 错误;
PDO::ERRMODE_EXCEPTION:抛出 exceptions 异常。
-
PDO::ATTR_ORACLE_NULLS:(在所有驱动中都可用,不仅限于Oracle)转换 NULL 和空字符串;
PDO::NULL_NATURAL:不转换;
PDO::NULL_EMPTY_STRING:将空字符串转换成 NULL;
PDO::NULL_TO_STRING:将 NULL 转换成空字符串。
PDO::ATTR_STRINGIFY_FETCHES:提取的时候将数值转换为字符串;
PDO::ATTR_STATEMENT_CLASS:设置从 PDOStatement 派生的用户提供的语句类。不能用于持久的 PDO 实例。需要 array(string 类名, array(mixed 构造函数的参数));
PDO::ATTR_TIMEOUT:指定超时的秒数。不同驱动之间可能会有差异,比如 SQLite 等待的时间达到此值后就会放弃获取可写锁,但其他驱动可能会将此值解释为一个连接或读取超时的间隔;
PDO::ATTR_AUTOCOMMIT:(在 OCI,Firebird 以及 MySQL 中可用)是否自动提交每个单独的语句;
PDO::ATTR_EMULATE_PREPARES:启用或禁用预处理语句的模拟。有些驱动不支持或有限度地支持本地预处理,使用此设置可以强制 PDO 总是模拟预处理语句,或试着使用本地预处理语句。如果驱动不能成功预处理当前查询,它将总是回到模拟预处理语句上;
PDO::MYSQL_ATTR_USE_BUFFERED_QUERY:(在MySQL中可用)使用缓冲查询;
PDO::ATTR_DEFAULT_FETCH_MODE:设置默认的提取模式。
示例:使用 setAttribute() 方法设置数据库句柄的属性
<?php header("Content-Type: text/html;charset=utf-8"); $pdo = new PDO('mysql:dbname=test;host=127.0.0.1','root','root',$opt); $pdo->setAttribute(PDO::ATTR_CASE, PDO::CASE_UPPER); echo 'PDO::ATTR_CASE属性的值为:'.$pdo -> getAttribute(PDO::ATTR_CASE); $pdo->setAttribute(PDO::ATTR_CASE, PDO::CASE_LOWER); echo '<br>PDO::ATTR_CASE属性的值为:'.$pdo -> getAttribute(PDO::ATTR_CASE); $pdo->setAttribute(PDO::ATTR_CASE, PDO::CASE_NATURAL); echo '<br>PDO::ATTR_CASE属性的值为:'.$pdo -> getAttribute(PDO::ATTR_CASE); ?>
运行结果:
PDO::ATTR_CASE属性的值为:1 PDO::ATTR_CASE属性的值为:2 PDO::ATTR_CASE属性的值为:0
推荐学习:《PHP视频教程》
以上是php setattribute()方法怎么用的详细内容。更多信息请关注PHP中文网其他相关文章!

本文比较了酸和基本数据库模型,详细介绍了它们的特征和适当的用例。酸优先确定数据完整性和一致性,适合财务和电子商务应用程序,而基础则侧重于可用性和

本文讨论了确保PHP文件上传的确保,以防止诸如代码注入之类的漏洞。它专注于文件类型验证,安全存储和错误处理以增强应用程序安全性。

本文讨论了在PHP中实施API速率限制的策略,包括诸如令牌桶和漏水桶等算法,以及使用Symfony/Rate-limimiter之类的库。它还涵盖监视,动态调整速率限制和手

本文讨论了使用password_hash和pyspasswify在PHP中使用密码的好处。主要论点是,这些功能通过自动盐,强大的哈希算法和SECH来增强密码保护

本文讨论了OWASP在PHP和缓解策略中的十大漏洞。关键问题包括注射,验证损坏和XSS,并提供用于监视和保护PHP应用程序的推荐工具。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境

Dreamweaver Mac版
视觉化网页开发工具

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器

Atom编辑器mac版下载
最流行的的开源编辑器

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。