PDO和Mysqli对比分析,你总结归纳一下吧

php操作mysql数据库,大家都知道有三种驱动,mysql mysqli pdo,其中mysql在php7之后被废除了。不是本文重点。咱现在来分析一下mysqli和PDO的区别,下面一张表用来说明他们的区别

连接方式

// PDO
$pdo = new PDO(“mysql:host=localhost;dbname=database”, ‘username’, ‘password’);

// mysqli面向过程
$mysqli = mysqli_connect(‘localhost’,‘username’,‘password’,‘database’);

// mysqli面向对象
$mysqli = new mysqli(‘localhost’,‘username’,‘password’,‘database’);
对数据库的支持方面
pdo多种支持
代码表现

var_dump(PDO::getAvailableDrivers());
参数绑定
POD方式

$params = array(’:username’ => ‘test’, ‘:email’ => $mail, ‘:last_login’ => time() - 3600);

$pdo->prepare(’
SELECT * FROM users
WHERE username = :username
AND email = :email
AND last_login > :last_login’);

p d o − > e x e c u t e ( pdo->execute( pdo>execute(params);

mysqli方式

$query = $mysqli->prepare(’
SELECT * FROM users
WHERE username = ?
AND email = ?
AND last_login > ?’);

$query->bind_param(‘sss’, ‘test’, $mail, time() - 3600);
$query->execute();
对象映射
假设我们有一个类,是如下这样

class User {
public $id;
public $first_name;
public $last_name;

public function info()
{
    return '#'.$this->id.': '.$this->first_name.' '.$this->last_name;
}

}

再看看两者的方式

$query = “SELECT id, first_name, last_name FROM users”;

// PDO
$result = p d o − > q u e r y ( pdo->query( pdo>

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值