我的编程空间,编程开发者的网络收藏夹
学习永远不晚

PHP中PDO怎么用

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

PHP中PDO怎么用

小编给大家分享一下PHP中PDO怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

大约 80% 的 Web 应用程序由 PHP 提供支持。类似地,SQL 也是如此。PHP 5.5 版本之前,我们有用于访问 MySQL 数据库的 mysql_ 命令,但由于安全性不足,它们最终被弃用。

弃用这件事是发生在 2013 年的 PHP 5.5 上,我写这篇文章的时间是 2018 年,PHP 版本为 7.2。mysql_ 的弃用带来了访问数据库的两种主要方法:mysqli 和 PDO 库。

虽然 mysqli 库是官方指定的,但由于 mysqli 只能支持 mysql 数据库,而 PDO 可以支持 12  种不同类型的数据库驱动程序,因此 PDO 获得了更多的赞誉。此外,PDO  还有其它一些特性,使其成为大多数开发人员的更好选择。你可以在下表中看到一些特性比较:

 PDOMySQLi
数据库支持12 种驱动只有 MySQL
范例OOP过程 + OOP
预处理语句(客户端侧)YesNo
1命名参数YesNo

现在我想对于大多数开发人员来说,PDO 是***的原因已经很清楚了。所以让我们深入研究它,并希望在本文中尽量涵盖关于 PDO 你需要的了解的。

连接

***步是连接到数据库,由于 PDO 是完全面向对象的,所以我们将使用 PDO 类的实例。

我们要做的***件事是定义主机、数据库名称、用户名、密码和数据库字符集。

$host = 'localhost';$db   = 'theitstuff';$user = 'root';$pass = 'root';$charset = 'utf8mb4';$dsn = "mysql:host=$host;dbname=$db;charset=$charset";$conn = new PDO($dsn, $user, $pass);

之后,正如你在上面的代码中看到的,我们创建了 DSN 变量,DSN 变量只是一个保存数据库信息的变量。对于一些在外部服务器上运行 MySQL 的人,你还可以通过提供一个 port=$port_number 来调整端口号。

***,你可以创建一个 PDO 类的实例,我使用了 $conn 变量,并提供了 $dsn$user$pass 参数。如果你遵循这些步骤,你现在应该有一个名为 $conn 的对象,它是 PDO 连接类的一个实例。现在是时候进入数据库并运行一些查询。

一个简单的 SQL 查询

现在让我们运行一个简单的 SQL 查询。

$tis = $conn->query('SELECT name, age FROM students');while ($row = $tis->fetch()){  echo $row['name']."\t";  echo $row['age'];  echo "<br>";}

这是使用 PDO 运行查询的最简单形式。我们首先创建了一个名为 tis(TheITStuff 的缩写 )的变量,然后你可以看到我们使用了创建的 $conn 对象中的查询函数。

然后我们运行一个 while 循环并创建了一个 $row 变量来从 $tis 对象中获取内容,***通过调用列名来显示每一行。

很简单,不是吗?现在让我们来看看预处理语句。

预处理语句

预处理语句是人们开始使用 PDO 的主要原因之一,因为它提供了可以阻止 SQL 注入的语句。

有两种基本方法可供使用,你可以使用位置参数或命名参数。

位置参数

让我们看一个使用位置参数的查询示例。

$tis = $conn->prepare("INSERT INTO STUDENTS(name, age) values(?, ?)");$tis->bindValue(1,'mike');$tis->bindValue(2,22);$tis->execute();

在上面的例子中,我们放置了两个问号,然后使用 bindValue() 函数将值映射到查询中。这些值绑定到语句问号中的位置。

我还可以使用变量而不是直接提供值,通过使用 bindParam() 函数相同例子如下:

$name='Rishabh'; $age=20;$tis = $conn->prepare("INSERT INTO STUDENTS(name, age) values(?, ?)");$tis->bindParam(1,$name);$tis->bindParam(2,$age);$tis->execute();

命名参数

命名参数也是预处理语句,它将值/变量映射到查询中的命名位置。由于没有位置绑定,因此在多次使用相同变量的查询中非常有效。

$name='Rishabh'; $age=20;$tis = $conn->prepare("INSERT INTO STUDENTS(name, age) values(:name, :age)");$tis->bindParam(':name', $name);$tis->bindParam(':age', $age);$tis->execute();

你可以注意到,唯一的变化是我使用 :name:age 作为占位符,然后将变量映射到它们。冒号在参数之前使用,让 PDO 知道该位置是一个变量,这非常重要。

你也可以类似地使用 bindValue() 来使用命名参数直接映射值。

获取数据

PDO 在获取数据时非常丰富,它实际上提供了许多格式来从数据库中获取数据。

你可以使用 PDO::FETCH_ASSOC 来获取关联数组,PDO::FETCH_NUM 来获取数字数组,使用 PDO::FETCH_OBJ 来获取对象数组。

$tis = $conn->prepare("SELECT * FROM STUDENTS");$tis->execute();$result = $tis->fetchAll(PDO::FETCH_ASSOC);

你可以看到我使用了 fetchAll,因为我想要所有匹配的记录。如果只需要一行,你可以简单地使用 fetch

现在我们已经获取了数据,现在是时候循环它了,这非常简单。

foreach ($result as $lnu){  echo $lnu['name'];  echo $lnu['age']."<br>";}

你可以看到,因为我请求了关联数组,所以我正在按名称访问各个成员。

虽然在定义希望如何传输递数据方面没有要求,但在定义 $conn 变量本身时,实际上可以将其设置为默认值。

你需要做的就是创建一个 $options 数组,你可以在其中放入所有默认配置,只需在 $conn 变量中传递数组即可。

$options = [  PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,];$conn = new PDO($dsn, $user, $pass, $options);

以上是“PHP中PDO怎么用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网行业资讯频道!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

PHP中PDO怎么用

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

下载Word文档

猜你喜欢

PHP中PDO怎么用

小编给大家分享一下PHP中PDO怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!大约 80% 的 Web 应用程序由 PHP 提供支持。类似地,SQL 也是如
2023-06-16

PHP中PDO怎么使用

这篇文章主要介绍了PHP中PDO怎么使用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、基本知识1、什么是PDO?PDO就是PHP data Object 提供了PHP操作
2023-06-22

PHP中怎么使用PDO关闭连接

这篇文章主要讲解了“PHP中怎么使用PDO关闭连接”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“PHP中怎么使用PDO关闭连接”吧!在现代化的开发中,一般使用框架都会让我们忽视了底层的这些封
2023-06-20

php中pdo oci中文乱码怎么办

小编给大家分享一下php中pdo oci中文乱码怎么办,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!php pdo oci中文乱码的解决办法:首先在php-fpm中设置环境变量;然后添加内容“env[ORACLE_HOME
2023-06-15

php pdo怎么设置utf8

php pdo设置utf8的方法:1、打开相应的PHP代码文件;2、通过“$this->pdo->prepare("set names utf8");”设置utf8编码即可。
2019-12-05

centos7怎么安装php-pdo

centos7安装php-pdo的方法:1、安装PHP和mariadb;2、执行“yum install php-mysqlnd”命令;3、执行“/bin/systemctl restart httpd”。
2017-04-22

PHP数据库之PDO怎么使用

这篇文章主要介绍“PHP数据库之PDO怎么使用”,在日常操作中,相信很多人在PHP数据库之PDO怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”PHP数据库之PDO怎么使用”的疑惑有所帮助!接下来,请跟
2023-07-05

php中PDO库的作用是什么

php中PDO库的作用是什么?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。php有什么特点1、执行速度快。2、具有很好的开放性和可扩展性。3、PHP支持多种主流与非主流的数据库
2023-06-14

怎么在php中使用PDO获取关联数组

怎么在php中使用PDO获取关联数组?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。php是什么语言php,一个嵌套的缩写名称,是英文超级文本预处理语言(PHP:Hypertex
2023-06-14

php PDO怎么运行查询

这篇文章主要介绍了php PDO怎么运行查询的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇php PDO怎么运行查询文章都会有所收获,下面我们一起来看看吧。说明1、创建一个叫做tis的变量,然后就可以看到在创建
2023-06-30

PHP怎么使用PDO连接数据库

本篇内容主要讲解“PHP怎么使用PDO连接数据库”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“PHP怎么使用PDO连接数据库”吧!PDO是什么PDO是PHP数据对象的简称,准确来说PDO是PHP
2023-06-25

php中的PDO怎么获取关联数组

这篇文章主要介绍了php中的PDO怎么获取关联数组的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇php中的PDO怎么获取关联数组文章都会有所收获,下面我们一起来看看吧。获取方法1、可以使用 PDO::FETCH
2023-06-30

php中的pdo是什么意思

这篇文章主要介绍“php中的pdo是什么意思”,在日常操作中,相信很多人在php中的pdo是什么意思问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”php中的pdo是什么意思”的疑惑有所帮助!接下来,请跟着小编
2023-06-20

使用PHP中PDO::beginTransaction的案例

小编给大家分享一下使用PHP中PDO::beginTransaction的案例,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!php的框架有哪些php的框架:1、Laravel,Laravel是一款免费并且开源的PHP应用框
2023-06-14

php pdo怎么设置字符集

本篇内容介绍了“php pdo怎么设置字符集”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!php pdo设置字符集的方法:首先创建一个PHP
2023-06-20

php中PDO库指的是什么

今天小编给大家分享一下php中PDO库指的是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。说明1、可以支持12种不同类型
2023-06-30

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录