php连接mysql的方式之间有哪些区别
这篇文章主要介绍“php连接mysql的方式之间有哪些区别”,在日常操作中,相信很多人在php连接mysql的方式之间有哪些区别问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”php连接mysql的方式之间有哪些区别”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
区别: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连接mysql的方式之间有哪些区别”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341