前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PHP扩展 Mysql 与 Mysqli

PHP扩展 Mysql 与 Mysqli

原创
作者头像
用户5005176
修改2021-08-11 10:39:29
2.8K0
修改2021-08-11 10:39:29
举报
文章被收录于专栏:网站知识

PHP开发中,使用Mysql扩展来链接Mysql数据库进行增删改查等操作。

在选择Mysql扩展的时候,官方提供了两种:

MySQL 原始版。

从 PHP 5.5.0 起这个扩展已经被废弃,并且从 PHP 7.0.0. 开始被移除。

作为替代,可以使用 mysqli 或者 PDO_MySQL 扩展代替。

MySQL 原始版
MySQL 原始版

MySQL 增强版。

mysqli扩展允许我们访问MySQL 4.1及以上版本提供的功能。

特性比较

特性

mysqli

mysql

PHP版本

>=5.0

>3.0

MySQL开发状态

活跃

仅维护

MySQL建议使用

首选

建议

API的字符集支持

存储过程支持情况

多语句执行支持情况

是否支持所有MySQL4.1以上功能

MySQLi 的 i 代表 Improvement。

MySQL 增强版
MySQL 增强版

相关概念

MySQL 与 MySQLi 都是PHP方面的函数集。

在 PHP5 版本以后,增加了mysqli的函数功能。

某种意义上讲,它是MySQL系统函数的增强版,更稳定更高效更安全。

连接进程

MySQL 每次链接都会打开一个连接的进程。

MySQLi 多次运行将使用同一连接进程,减少了服务器的开销。

链接方式

代码语言:javascript
复制
<?php
  //Mysql连接
  $conn = @mysql_connect("localhost", "root", "") or die("数据库连接错误");
  mysql_select_db("user", $conn);
  mysql_query("set names 'utf8'");
  echo "数据库连接成功";

  //Mysqli连接
  $conn = mysqli_connect('localhost', 'root', '', 'user');
  if (!$conn) {
    die("数据库连接错误" . mysqli_connect_error());
  } else {
    echo"数据库连接成功";
  }

顺便说 mysqlnd

Mysql Native驱动(Mysql Native Driver 简称:mysqlnd)。

在 PHP5.3.0 版本中被引入。

在 PHP5.4 之后的版本mysqlnd被作为默认配置选项。

由zend公司开发的MySQL数据库驱动。

mysqlnd 提供了和Zend引擎高度的集成性,更加快速的执行速度,更少的内存消耗,利用了PHP的Stream API,以及客户端缓存机制。

由于 mysqlnd 是透过Zend引擎,因此提供更多高级特性,以及有效利用Zend进行加速。

mysqlnd
mysqlnd

建议

PHP版本为5.x建议使用 mysqli 扩展。

PHP版本为7 只能使用 mysqli 扩展。

Thanks ~

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档