iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >PHP数据库学习之如何设置与获取PDO属性
  • 445
分享到

PHP数据库学习之如何设置与获取PDO属性

2023-06-25 12:06:55 445人浏览 独家记忆
摘要

本篇内容主要讲解“PHP数据库学习之如何设置与获取PDO属性”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“php数据库学习之如何设置与获取PDO属性”吧!接下来就来了解一下怎样设置与获取PDO属

本篇内容主要讲解“PHP数据库学习之如何设置与获取PDO属性”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“php数据库学习之如何设置与获取PDO属性”吧!

PHP数据库学习之如何设置与获取PDO属性

接下来就来了解一下怎样设置与获取PDO属性。在 PDO 对象中有很多属性可以用来调整 PDO 的行为或获取底层驱动程序状态。

如果在创建 PDO 对象时,没有在构造方法中最后一个参数设置过的属性选项,可以在对象创建完成以后,通过 PDO 对象中的 setAttribute()getAttribute() 方法设置和获取这些属性的值。那接下来就让我们一起来了解一下这两个方法吧。

getAttribute() 方法

getAttribute() 方法只需要提供一个参数,就能够传递一个代表这个参数的特定属性名称,执行成功后会返回该属性所指定的值,否则返回 NULL。很容易理解,它的语法格式如下:

PDO::getAttribute(int $attribute)

其中需要注意的是:

参数 $attribute PDO::ATTR_* 常量中的一个,应用到数据库连接中的常量有很多,

我们先通过示例先看一下,然后在做总结,示例如下:

<?php    header("Content-Type: text/html;charset=utf-8");    $opt = [PDO::ATTR_PERSISTENT=>TRUE];    try{        $pdo = new PDO('mysql:dbname=test;host=127.0.0.1','root','root',$opt);    }catch(PDOException $e){        echo '数据库连接失败:'.$e->getMessage();        exit();    }    echo 'PDO 是否关闭自动提交功能:'.$pdo -> getAttribute(PDO::ATTR_AUTOCOMMIT);    echo '<br>当前 PDO 的错误处理模式:'.$pdo -> getAttribute(PDO::ATTR_ERRMODE);    echo '<br>表字段字符的大小写转换:'.$pdo -> getAttribute(PDO::ATTR_CASE);    echo '<br>空字符串转换为 sql 的 null:'.$pdo -> getAttribute(PDO::ATTR_oracle_NULLS);    echo '<br>应用程序提前获取数据大小:'.$pdo -> getAttribute(PDO::ATTR_PERSISTENT);?>

输出结果:

PHP数据库学习之如何设置与获取PDO属性

由上述结果,我们总结一下:

PDO::ATTR_AUTOCOMMIT表示的是PDO 是否关闭自动提交功能,PDO::ATTR_ERRMODE表示的是当前 PDO 的错误处理模式,PDO::ATTR_CASE表示的是表字段字符的大小写转换, PDO::ATTR_ORACLE_NULLS表示的是空字符串转换为 SQL 的 null,PDO::ATTR_PERSISTENT表示的是应用程序提前获取数据大小。

不止这些,再给大家总结一下一些常用的应用到数据库连接中的常量:

  • PDO::ATTR_CONNECTION_STATUS  表示与连接状态相关的特有信息。

  • PDO::ATTR_SERVER_INFO    表示数据库特有的服务器信息。

  • PDO::ATTR_SERVER_VERSION   表示数据库服务器版本号。

  • PDO::ATTR_CLIENT_VERSION   表示数据库客户端版本号。

了解了getAttribute() 方法,接下来我们来看一下setAttribute() 方法的相关知识,一起看看吧。

setAttribute() 方法

setAttribute() 方法可以用来设置数据库句柄的属性,setAttribute() 就比getAttribute()要稍微复杂些了,它的语法格式如下:

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 转换成空字符串。

接下来我们通过示例来看一下使用 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);?>

输出结果:

PHP数据库学习之如何设置与获取PDO属性

上述示例中,便是通过使用 setAttribute() 方法设置数据库句柄的属性。接下来再给大家整理一下可用的通用属性名称和可以使用的值:

  • PDO::ATTR_STRINGIFY_FETCHES    表示提取的时候将数值转换为字符串;

  • PDO::ATTR_STATEMENT_CLASS   表示设置从 PDOStatement 派生的用户提供的语句类。不能用于持久的 PDO 实例。

  • PDO::ATTR_AUTOCOMMIT   表示是否自动提交每个单独的语句,它在在 OCI,Firebird 以及 mysql 中可用。

  • PDO::ATTR_DEFAULT_FETCH_MODE  表示设置默认的提取模式。

  • PDO::MYSQL_ATTR_USE_BUFFERED_QUERY   表示使用缓冲查询,它在MySQL数据库中可用。

其中我们还需要注意的有:PDO::ATTR_TIMEOUT 表示指定超时的秒数。不同驱动之间可能会有差异,比如 SQLite 等待的时间达到此值后就会放弃获取可写,但其他驱动可能会将此值解释为一个连接或读取超时的间隔;

PDO::ATTR_EMULATE_PREPARES   表示启用或禁用预处理语句的模拟。有些驱动不支持或有限度地支持本地预处理,使用此设置可以强制 PDO 总是模拟预处理语句,或试着使用本地预处理语句。如果驱动不能成功预处理当前查询,它将总是回到模拟预处理语句上。

到此,相信大家对“PHP数据库学习之如何设置与获取PDO属性”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: PHP数据库学习之如何设置与获取PDO属性

本文链接: https://www.lsjlt.com/news/304299.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • PHP数据库学习之如何设置与获取PDO属性
    本篇内容主要讲解“PHP数据库学习之如何设置与获取PDO属性”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“PHP数据库学习之如何设置与获取PDO属性”吧!接下来就来了解一下怎样设置与获取PDO属...
    99+
    2023-06-25
  • PHP数据库学习之如何使用PDO执行SQL语句
    这篇文章主要讲解了“PHP数据库学习之如何使用PDO执行SQL语句”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“PHP数据库学习之如何使用PDO执行SQL语句”吧!exec() 方法在我们执...
    99+
    2023-06-25
  • PHP数据库学习之详解PDO的基本用法
    PHP PDO是PHP数据库扩展中的一种重要组件,它为PHP与多种关系型数据库提供了统一的API,使用PDO可以让我们的程序更加安全、高效、易于维护。在本文中,我们将介绍PHP PDO的用法,包括如何连接数据库、执行SQL语句、事务处理等方...
    99+
    2023-05-14
    php pdo
  • 如何使用PDO获取MySQL数据库中的数据
    使用PDO获取MySQL数据库中的数据有以下几个步骤: 建立数据库连接: $host = 'localhost...
    99+
    2024-04-29
    MySQL
  • PHP学习笔记:数据库优化与索引设计
    在开发Web应用程序时,数据库操作是一个非常关键的环节。数据库的性能直接影响着Web应用程序的响应速度和用户体验。为了提升数据库的效率和查询速度,我们需要进行数据库优化和索引设计。一、数据库优化数据库架构优化:正规化设计:遵循数据库范式,减...
    99+
    2023-10-21
    PHP 数据库优化 索引设计
  • Python API 学习笔记:如何实时获取数据?
    Python 是一种高级编程语言,它在数据分析和机器学习中被广泛使用。在这些领域中,实时获取数据是一个非常重要的环节。本文将介绍如何使用 Python API 实时获取数据,并通过演示代码进行说明。 使用 requests 库获取数据 ...
    99+
    2023-11-08
    api 学习笔记 实时
  • 大数据与PHP学习笔记:如何优化Apache服务器性能?
    随着大数据时代的到来,数据的处理和管理变得越来越重要。而PHP作为一种在Web开发中广泛使用的编程语言,与Apache服务器配合使用可以实现高效的数据处理和管理。本文将介绍如何优化Apache服务器性能,提高数据处理和管理的效率。 一、A...
    99+
    2023-11-02
    学习笔记 大数据 apache
  • 如何使用PHP的PDO封装可操作性强的数据库类
    PHP用PDO如何封装简单易用的DB类 引言:在PHP开发中,数据库是非常重要的一部分。为了更好地操作数据库,我们可以使用PDO(PHP 数据对象)扩展来连接、查询和操作数据库。本文将...
    99+
    2024-02-26
    封装 简单 db类
  • PHP如何使用session存储与获取用户数据
    在PHP中,可以使用$_SESSION全局变量来存储和获取用户数据。以下是使用$_SESSION存储和获取用户数据的示例: // 开...
    99+
    2024-05-06
    PHP
  • html网页如何获取后台数据库的数据(html + ajax + php + mysql)
    博主联系方式: QQ:1540984562 QQ交流群:892023501 群里会有往届的smarters和电赛选手,群里也会不时分享一些有用的资料,有问题可以在群里多问问。 目录 ht...
    99+
    2023-09-03
    ajax php 数据库 html 前端
  • php如何设置数据库编码方式
    小编给大家分享一下php如何设置数据库编码方式,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在php中,可以使用mysql_query()函数来设置mysql数据...
    99+
    2023-06-14
  • PHP操作数据库时如何获取前几条记录?
    PHP操作数据库时如何获取前几条记录? 在进行数据库操作时,有时候我们需要获取数据库中的前几条记录,以便进行展示或其他操作。在PHP中,我们可以使用SQL语句结合PHP代码来实现这一功...
    99+
    2024-04-02
  • 如何设置PHP连接数据库的时间
    PHP是一种广泛使用的服务器端脚本语言,它可以与各种数据库进行交互和通信。在实际的开发中,经常会遇到需要连接数据库的情况。PHP连接数据库时涉及到很多因素,其中一个重要的因素就是连接时间的设置。本文将简要介绍如何设置PHP连接数据库的时间。...
    99+
    2023-05-14
  • 如何设置阿里云数据库连接稳定性
    在云数据库中,连接稳定性是数据库运行的重要组成部分,它直接影响到数据的访问和操作。在阿里云数据库中,可以通过设置连接稳定性来提高数据库的运行效率和稳定性。本文将详细介绍如何设置阿里云数据库连接稳定性。 了解连接稳定性在云数据库中,连接稳定性...
    99+
    2023-10-31
    阿里 稳定性 如何设置
  • 如何在AmazonAurora上配置数据库参数和调整性能设置
    在Amazon Aurora上配置数据库参数和调整性能设置需要通过Amazon RDS控制台或者AWS命令行工具来进行操作。以下是在...
    99+
    2024-04-02
  • Tomcat中数据库连接池如何设置与应用
    这篇文章主要介绍了Tomcat中数据库连接池如何设置与应用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 配置...
    99+
    2024-04-02
  • 在 Golang 中解码时如何获取 XML 标签的字符数据和属性值
    欢迎各位小伙伴来到编程网,相聚于此都是缘哈哈哈!今天我给大家带来《在 Golang 中解码时如何获取 XML 标签的字符数据和属性值》,这篇文章主要讲到等等知识,如果你对Golang相关的知识非常感...
    99+
    2024-04-05
  • 如何进行Linux设备IO研究与数据库性能调优
    本篇文章给大家分享的是有关如何进行Linux设备IO研究与数据库性能调优,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。如何在Linux系统里对数据库及设备IO库进行调优?数据库...
    99+
    2023-06-16
  • PHP接口学习笔记:数据类型是如何影响接口设计的?
    在PHP编程中,接口是一个非常重要的概念。接口定义了一个类或对象所必须实现的方法,从而确保代码的可靠性和可维护性。在接口设计中,数据类型是一个非常重要的考虑因素,因为它会影响接口的灵活性和可扩展性。 数据类型是什么? 在PHP中,数据类型...
    99+
    2023-06-01
    接口 学习笔记 数据类型
  • 如何利用MySQL设计规约提高技术同学的数据库性能?
    如何利用MySQL设计规约提高技术同学的数据库性能?MySQL作为一种性能强大的开源关系型数据库管理系统,被广泛应用于各种应用程序的后端数据库。对于技术同学来说,了解和掌握MySQL的设计规约是提高数据库性能的关键。本文将介绍一些常见的My...
    99+
    2023-10-22
    MySQL 数据库性能 设计规约
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作