文档章节

解决 The mysql extension is deprecated and will be r

hosser
 hosser
发布于 2016/07/14 11:27
字数 660
阅读 137
收藏 1
点赞 0
评论 0

解决 The mysql extension is deprecated and will be removed in the future技术

maybe yes 发表于2015-07-27 15:19

原文链接 : http://blog.lmlphp.com/archives/132/Tutorial_of_solve_mysql_extension_is_deprecated_and_will_be_removed_in_the_future_of_php55  来自 : LMLPHP后院

PHP 5.5 默认是不支持 MySQL 扩展的,如果需要使用,可以使用 php5enmod mysql 打开。开启后使用 mysql_connect 的项目都会报错:[8192]mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in ... 。

PHP 核心开发组经过了很长时间的讨论,决定在 PHP5.5 版本后将 mysql_ 系列的函数标记为 deprecated,下面将给出如何解决这个问题的方法。

Why was mysql deprecated in PHP 5.5?
Johannes Schlüter, one of the PHP developers listed missing points like these:
Stored Procedures
Prepared Statements
(SSL-)Encryption
Compression
Full charset support

低级快速的解决方案:关闭 deprecated 类型的报错。特别提醒,过时报错使用 @ 符号是不能屏蔽的。

<?php
error_reporting(E_ALL ^ E_DEPRECATED);

更好的解决方案:修改数据库驱动类,使用 mysqli 系列函数代替 mysql 系列函数。

例如:当前许多 PHP 代码中 MySQL 的连接语句如下:

<?php
$link = mysql_connect('localhost', 'user', 'password');
mysql_select_db('dbname', $link);

将上面的语句修改为 MySQLI 连接,如下代码所示:

<?php
$link = mysqli_connect('localhost', 'user', 'password', 'dbname');

使用 mysqli 执行 SQL 的方式与 mysql 非常相似,如下示例:

<?php
// Old
mysql_query('CREATE TEMPORARY TABLE `lmlphp`', $link);
// New
mysqli_query($link, 'CREATE TEMPORARY TABLE `lmlphp`');

若在代码中使用了类似 mysql_result,mysql_fetch_array 等的函数,修改为对应的 mysqli_result,mysqli_fetch_array 即可。

除 了上面的解决方案外,也可以直接使用 PDO_MySQL 来操作数据库,个人感觉这个更好用。如果项目中的数据库驱动类是面向对象风格的,修改为 mysqli 会更加容易一些,使用 mysql_pdo 的代码风格完全不一样,切换过来比较困难。有点疑惑的是,为什么PHP 一定要放弃 MySQL 的扩展,而不通过改变函数内部实现来解决问题。

阅(453)评(0)查看评论

本文转载自:http://blog.lmlphp.com/archives/132/Tutorial_of_solve_mysql_extension_is_deprecated_and_will_be_r...

共有 人打赏支持
hosser
粉丝 194
博文 77
码字总数 4614
作品 3
徐汇
Deprecated: mysql_connect(): The mysql extension i

原因: php 5个版本,5.2、5.3、5.4、5.5,怕跟不上时代,新的服务器直接上5.5,但是程序出现如下错误:Deprecated: mysqlconnect(): The mysql extension is deprecated and will be removed...

june-映君 ⋅ 2014/04/27 ⋅ 0

使用nginx配置多个php fastcgi负载均衡

使用nginx配置多个php fastcgi负载均衡 服务器环境是一键安装包lnmpnginx 配置文件参考地址:http://blog.chinaunix.net/uid-26284395-id-3084491.html nginx 配置文件[root@cacti vhost]# c...

wjw555 ⋅ 01/01 ⋅ 0

PHP链接mySQL问题!!!!!!!!!(菜鸟,急啊!)

Deprecated: mysqlconnect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in C:AutoSet9publichtmldb_info.php on line 3 "链接成功......

luxury515 ⋅ 2015/09/17 ⋅ 10

解决Notice错误,性能竟然提升了1000多倍!

先说PHP的deprecated错误的性能问题 最近刚刚完成了一个项目,在测试完基本功能后,我们就发布到线上。结果上线不久就发现产生了大量的错误,如下图: 一看都是PHP的Deprecated错误,是级别最...

OneAPM蓝海讯通 ⋅ 2015/06/09 ⋅ 0

如何在PHP7中安装mysql的扩展

部落也忘记自己在什么时候,将PHP的版本升级到PHP7了,很多人说,PHP7速度上比之前的版本,有很大的提升,但部落还是没有感觉出来,不过既然有新的版本,那么我们可以在不影响性能使用的前提下升级一...

james_laughing ⋅ 2016/11/01 ⋅ 0

Linux centos安装mysql(解压手动安装)

系统版本: [root@localhost ~]# uname -r 2.6.32-358.el6.i686 [root@localhost ~]# cat /etc/issue CentOS release 6.4 (Final) Kernel r on an m 下载linux generic 32bit的mysql包(http......

chidongting ⋅ 2016/06/26 ⋅ 0

CakePHP 3.3.0 发布,PHP 开发框架

CakePHP 3.3.0 发布了,这是 3.3 分支的稳定版本,该版本提供了若干大大小小的提升改进,也弃用了一些将会在 4.0.0 被删除的功能。 升级至 3.3.0 你可以使用 Composer 升级到 CakePHP 的新版...

oschina ⋅ 2016/08/13 ⋅ 14

成长经验之谈(一)

环境配置: 系统:Windows 10 Wampserver Version 3.0.4 Apache:port 80 version 2.4.18 MySql: port 3306 version 5.7.11 PHP: version 5.6.19 源码如下:...

qq_35398000 ⋅ 2016/08/01 ⋅ 0

Apache+PHP+Mysql开发环境搭建

一、Apache服务器安装 下载windows版Apache(我把安装文件放在百度云盘-软件-Apache) 找到Apacheconfhttpd.conf文件,用记事本打开,找到:Define SRVROOT 这一项,将其右方的值改为当前你A...

曾劲松 ⋅ 2016/04/01 ⋅ 0

Mercurial 2.3 发布,分布式版本控制

Mercurial 2.3 发布了,主要改进记录: Core features help: add --keyword (-k) for searching help hgweb: side-by-side comparison functionality log: support --graph without graphlog......

weiqingbin ⋅ 2012/08/03 ⋅ 1

没有更多内容

加载失败,请刷新页面

加载更多

下一页

个人博客的运营模式能否学习TMALL天猫质量为上?

心情随笔|个人博客的运营模式能否学习TMALL天猫质量为上? 中国的互联网已经发展了很多年了,记得在十年前,个人博客十分流行,大量的人都在写博客,而且质量还不错,很多高质量的文章都是在...

原创小博客 ⋅ 今天 ⋅ 0

JavaScript零基础入门——(十一)JavaScript的DOM操作

JavaScript零基础入门——(十一)JavaScript的DOM操作 大家好,欢迎回到我们的JavaScript零基础入门。最近有些同学问我说,我讲的的比书上的精简不少。其实呢,我主要讲的是我在开发中经常会...

JandenMa ⋅ 今天 ⋅ 0

volatile和synchronized的区别

volatile和synchronized的区别 在讲这个之前需要先了解下JMM(Java memory Model :java内存模型):并发过程中如何处理可见性、原子性、有序性的问题--建立JMM模型 详情请看:https://baike.b...

MarinJ_Shao ⋅ 今天 ⋅ 0

深入分析Kubernetes Critical Pod(一)

Author: xidianwangtao@gmail.com 摘要:大家在部署Kubernetes集群AddOn组件的时候,经常会看到Annotation scheduler.alpha.kubernetes.io/critical-pod"="",以表示这是一个关键服务,那你知...

WaltonWang ⋅ 今天 ⋅ 0

原子性 - synchronized关键词

原子性概念 原子性提供了程序的互斥操作,同一时刻只能有一个线程能对某块代码进行操作。 原子性的实现方式 在jdk中,原子性的实现方式主要分为: synchronized:关键词,它依赖于JVM,保证了同...

dotleo ⋅ 今天 ⋅ 0

【2018.06.22学习笔记】【linux高级知识 14.4-15.3】

14.4 exportfs命令 14.5 NFS客户端问题 15.1 FTP介绍 15.2/15.3 使用vsftpd搭建ftp

lgsxp ⋅ 今天 ⋅ 0

JeeSite 4.0 功能权限管理基础(Shiro)

Shiro是Apache的一个开源框架,是一个权限管理的框架,实现用户认证、用户授权等。 只要有用户参与一般都要有权限管理,权限管理实现对用户访问系统的控制,按照安全规则或者安全策略控制用户...

ThinkGem ⋅ 昨天 ⋅ 0

python f-string 字符串格式化

主要内容 从Python 3.6开始,f-string是格式化字符串的一种很好的新方法。与其他格式化方式相比,它们不仅更易读,更简洁,不易出错,而且速度更快! 在本文的最后,您将了解如何以及为什么今...

阿豪boy ⋅ 昨天 ⋅ 0

Python实现自动登录站点

如果我们想要实现自动登录,那么我们就需要能够驱动浏览器(比如谷歌浏览器)来实现操作,ChromeDriver 刚好能够帮助我们这一点(非谷歌浏览器的驱动有所不同)。 一、确认软件版本 首先我们...

blackfoxya ⋅ 昨天 ⋅ 0

线性回归原理和实现基本认识

一:介绍 定义:线性回归在假设特证满足线性关系,根据给定的训练数据训练一个模型,并用此模型进行预测。为了了解这个定义,我们先举个简单的例子;我们假设一个线性方程 Y=2x+1, x变量为商...

wangxuwei ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部