admin管理员组文章数量:1794759
PHP连接数据库 (Mysql) 的三种方式及其区别
前言:
在PHP5.3版本之后,想要连接数据库有两种方案,一种是通过mysqli,另外外一种是通过PDO,而通过mysqli来连接数据库也可也分为两种情况: mysqli(面向对象),mysqli(面向过程). 即三种方式: 1)PDO连接mysql 2)mysqli(面向对象)连接数据库 3)mysqli(面向过程)连接数据库 (其实还存在一种连接方式:使用 MySQL 扩展。但该扩展在 2012 年开始不建议使用。)
PDO连接实例可先通过phpinfo()命令查看你的php是否已安装PDO(我用的是php7,默认是已经安装好了) 如果没有安装,参考网页:php/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,默认是已经安装好了) 如果没有安装,参考网页:php/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) 的三种方式及其区别 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1686746289a97727.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论