PHP连接数据库 (Mysql) 的三种方式及其区别
程序员文章站
2022-03-10 08:14:36
...
前言:
在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()内部是对面向对象调用过程的封装。
推荐阅读
-
详解Ubuntu Server下启动/停止/重启MySQL数据库的三种方式
-
解决php用mysql方式连接数据库出现Deprecated报错问题
-
PHP连接MySQL数据库的三种方式实例分析【mysql、mysqli、pdo】
-
php使用mysqli和pdo扩展,测试对比连接mysql数据库的效率完整示例
-
PHP连接局域网MYSQL数据库的简单实例
-
PHP+Mysql树型结构(无限分类)数据库设计的2种方式实例
-
.net(C#数据库访问) Mysql,Sql server,Sqlite,Access四种数据库的连接方式
-
mysql数据库的左连接、右连接和内连接的区别详解
-
PHP API中,MYSQL与MYSQLI的持久连接区别
-
php连接mysql数据库最简单的实现方法