解决 The mysql extension is deprecated and will be r
为什么80%的码农都做不了架构师?>>>
解决 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)查看评论
转载于:https://my.oschina.net/hosser/blog/711608
解决 The mysql extension is deprecated and will be r相关推荐
- php解决 mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysq
微信小程序开发交流qq群 173683895 承接微信小程序开发.扫码加微信. The mysql extension is deprecated and will be removed i ...
- PHP提示Deprecated: mysql_connect(): The mysql extension is deprecated的解决方法
来源:http://www.jb51.net/article/54465.htm 这篇文章主要介绍了PHP提示Deprecated: mysql_connect(): The mysql extens ...
- mysql5.5提示Deprecated: mysql_query(): The mysql extension is deprecated
解决方法1:在php程序代码里面设置报警级别 <?php error_reporting = E_ALL & ~E_DEPRECATED 方法2:禁止php报错 display_erro ...
- 织梦mysql占用资源_解决一个 MySQL 服务器进程 CPU 占用 100%的技术笔记
早上帮朋友一台服务器解决了Mysql cpu 占用 100%的问题.稍整理了一下: 朋友主机(Windows 2003 + IIS + PHP + MYSQL )近来 MySQL 服务进程 (mysq ...
- 【解决】MySql 5.6 运行崩溃错误
[解决]MySql 5.6 运行崩溃错误 最近弄了一台云主机,配置是20G磁盘空间,1G运行内存的Linux服务器.在上面安装了LAMP(RHEL7.2+Apache2.4+MySql5.6+PHP5 ...
- Yii2 解决2006 MySQL server has gone away问题
Yii2 解决2006 MySQL server has gone away问题 参考文章: (1)Yii2 解决2006 MySQL server has gone away问题 (2)https: ...
- 解决linux mysql命令 bash: mysql: command not found 的方法
解决linux mysql命令 bash: mysql: command not found 的方法 参考文章: (1)解决linux mysql命令 bash: mysql: command not ...
- 解决安装mysql的”A Windows service with the name MySQL already exists.“问题
解决安装mysql的"A Windows service with the name MySQL already exists."问题 参考文章: (1)解决安装mysql的&qu ...
- 解决启动mysql.exe闪退问题
解决启动mysql.exe闪退问题 参考文章: (1)解决启动mysql.exe闪退问题 (2)https://www.cnblogs.com/0901-hcx/p/11571826.html 备忘一 ...
最新文章
- 27亿参数的「野生版」GPT-3开源,GitHub项目2.9K Star量
- 沉浸式5G实景、AI+AR体验、机器人互动|5G+数智化展馆广州开幕
- 用java调用oracle存储过程总结一
- 大数据如何预测上市公司的业绩?
- FastReport.net 使用记录
- php中的空转为什么意思,php 长期更
- SIRIM上海,http://www.sirim-global.com
- git配置中文乱码_解决git中文乱码问题
- 在集设浏览学习高水准海报设计,会带给你不一样的灵感!
- 服务器维护经验分享,医院IT运维经验分享.pdf
- HDU 4336:Card Collector 期望+状压
- js对象深拷贝的简单实现
- 拜托,面试别再问我堆(排序)了!
- 多臂老虎机(Multi-armed Bandit)MAB学习笔记
- 如何把android studio中的项目发布到手机上(超详细版)
- 苹果iOS越狱后没有声音的解决办法
- 这样的测试简历,面试官都喜欢
- 二维码制作方法有什么?看完这篇你就会了
- 东方博宜oj答案c++版
- java变量重名问题