php连接mysql的方式之间有什么区别吗
时间:2022-04-28 [网络编程]作者:fabuyuan 浏览:6 次
区别:1、PDO应用在12种不同数据库中,而MySQLi只应用于mysql数据库中;2、PDO关闭连接的方式为“$conn = null”,而MySQLi关闭连接的方式为“$conn->close()”或者“mysqli_close()”。
本文操作环境:Windows10系统、PHP7.1版、Dell G3电脑。
php连接mysql的方式之间有什么区别吗
在php5.3版本之后,想要连接数据库有两种方案,一种是通过mysqli,另外外一种是通过PDO,而通过mysqli来连接数据库也可也分为两种情况: mysqli(面向对象),mysqli(面向过程).
即三种方式:
1)PDO连接mysql
2)mysqli(面向对象)连接数据库
3)mysqli(面向过程)连接数据库
(其实还存在一种连接方式:使用 MySQL 扩展。但该扩展在 2012 年开始不建议使用。)
PDO连接实例
可先通过phpinfo()命令查看你的php是否已安装PDO(我用的是php7,默认是已经安装好了)
如果没有安装,参考网页:http://php.net/manual/en/pdo.installation.php
代码实例:
<?php $servername = "localhost"; $username = "root"; $password = "root"; try { $conn = new PDO("mysql:host=$servername;dbname=jtsys", $username, $password); echo "连接成功"; } catch(PDOException $e) { echo $e->getMessage(); } ?>
(使用时请注意更改数据库用户名和密码,以及所选则的数据库名(dbname)
mysqli(面向对象)连接实例
可先通过phpinfo()命令查看你的php是否已安装mysqli(我用的是php7,默认是已经安装好了)
如果没有安装,参考网页:http://php.net/manual/en/mysqli.installation.php
代码实例:
<?php $servername = "localhost"; $username = "root"; $password = "root"; // 创建连接 $conn = new mysqli($servername, $username, $password); // 检测连接 if ($conn->connect_error) { die("连接失败: " . $conn->connect_error); } $dbname="jtsys"; mysqli_select_db($conn,$dbname); echo "连接成功"; ?>
mysqli(面向过程)连接数据库
代码实例:
<?php $servername = "localhost"; $username = "root"; $password = "root"; // 创建连接 $conn = mysqli_connect($servername, $username, $password); // 检测连接 if (!$conn) { die("Connection failed: " . mysqli_connect_error()); } $dbname="jtsys"; mysqli_select_db($conn,$dbname); echo "连接成功"; ?>
三者区别:
1.关闭连接的方式:
PDO:
$conn = null;
MySQLi (面向对象):
$conn->close();
MySQLi (面向过程):
mysqli_close($conn);
- PDO 应用在 12 种不同数据库中, MySQLi 只针对 MySQL 数据库。
- 如果你的项目需要在多种数据库中切换,建议使用 PDO ,这样你只需要修改连接字符串和部门查询语句即可。 使用 MySQLi, 如果不同数据库,你需要重新编写所有代码,包括查询。
- 两者都是面向对象, 但 MySQLi 还提供了 API 接口。
- 两者都支持预处理语句。 预处理语句可以防止 SQL 注入,对于 web 项目的安全性是非常重要的。
MySQLi 面向对象和面向过程的区别:
多PHP程序员不习惯面向对象bai编程,所以mysqli类库提供了du这个方法供他们使用。这也是方便一些使zhi用mysql扩展的用户快速迁移到mysqli。实际上,mysqli_query()内部是对面向对象调用过程的封装。
推荐学习:《PHP视频教程》
以上就是php连接mysql的方式之间有什么区别吗的详细内容,更多请关注站长家园其它相关文章!
本文标签: php
转载请注明来源:php连接mysql的方式之间有什么区别吗
本文永久链接地址:https://www.adminjie.com/post/11748.html
免责声明:
本站所发布的一切资源仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。
附:
二○○二年一月一日《计算机软件保护条例》第十七条规定:为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬!鉴于此,也希望大家按此说明研究软件!
版权声明:
一、本站致力于为软件爱好者提供国内外软件开发技术和软件共享,着力为用户提供优资资源。
二、本站提供的部分源码下载文件为网络共享资源,请于下载后的24小时内删除。如需体验更多乐趣,还请支持正版。
三、我站提供用户下载的所有内容均转自互联网。如有内容侵犯您的版权或其他利益的,若有侵犯你的权益请:提交版权证明文件到邮箱 2225329873#qq.com(#换为@) 站长会进行审查之后,情况属实的会在三个工作日内为您删除。
更多精彩内容
- VUE中V-IF条件判断改变元素的样式操作
- Discuz如何解决安装时报错run_sql_error
- 低版本VS项目在VS2019无法正常编译的问题
- PHP+Redis链表解决高并发下商品超卖问题(实现原理及步骤)
- Oracle数据库的实例/表空间/用户/表之间关系简单讲解
- RSA2是啥?PHP-RSA2签名验证怎么实现?
- 华为dubal20是什么型号
- ana an00华为是什么型号
- html5的标题标记一共有几个等级
- 电脑显示信号线无连接是什么意思
- app是什么应用程序的简称
- html5中onclick是什么意思
- angular与bootstrap的区别是什么
- vivov1818a是什么手机型号
- 超链接的作用是什么

- 最新文章
-
-
linux中cp命令怎么设置不提示
linux中设置cp命令不提示方法:1、修改“~/.bashrc”文件,禁用cp命令的alias,只需将“aliascp='cp-i'”内容注释掉即可;2、...
-
linux中echo是什么意思
在linux中,echo是在显示器上显示的意思,是一个用于提示的命令,语法为“echo[选项][输出内容]”;若输出的内容没有特殊含义,则直接输出原内容到显...
-
linux与wince有什么区别
区别:1、linux的开发难度较高,wince的开发难度相对较容易,开发周期短,内核完善;2、linux的内核较小,效率较高,而wince就占用了过多的RAM,...
-
最新工资数据公布,IT业薪酬最高,年薪超20万!
5月20日,国家统计局发布了2021年平均工资数据,如下图↓↓↓(图源:国家统计局网)根据以上的统计数据显示,2021年全国城镇非私营单位就业人员年平均工资...
-
实用Word技巧分享:如何扩大视图区?
在之前的文章《实用Word技巧分享:如何添加背景音乐》中,我们了解了Word添加背景音乐的方法。今天继续实用Word技巧分享,聊聊Word中扩大视图区的方法,赶...
-
- 热门文章
-
-
VUE中V-IF条件判断改变元素的样式操作
这篇文章主要介绍了VUE中V-IF条件判断改变元素的样式操作,具有很好的参考价值,希望对大家有所帮助。一起跟随想过来看看吧...
-
Discuz如何解决安装时报错run_sql_error
问题环境VMware虚拟机Centos7.3PHP7.0MySQL8.0NGINX1.14Discuz3.4问题还原本地环境为PHP5.6+MySQL5.6在安...
-
低版本VS项目在VS2019无法正常编译的问题
低版本VS项目在VS2019无法正常编译的问题这里指的编译并不准确,只是为了方便说明。后有(未安装),201?...
-
PHP+Redis链表解决高并发下商品超卖问题(实现原理及步骤)
实现原理使用redis链表来做,因为pop操作是原子的,即使有很多用户同时到达,也是依次执行,推荐使用。实现步骤第一步,先将商品库存入队列/**.trigge...
-
Oracle数据库的实例/表空间/用户/表之间关系简单讲解
完整的Oracle数据库通常由两部分组成:Oracle数据库和数据库实例。Oracle是一种数据库管理系统,是一种关系型的数据库管理系统。我们用这些高级权限账号...
-