找回密码
 注册账号

QQ登录

只需一步,快速开始

《泰拉瑞亚下载-1.4.2.3版》 泰拉瑞亚服务器 - MOD模组下载

入驻泰拉战网 新手指引 - 升级 - 师徒

泰拉瑞亚合成表 泰拉卡牌 - 泰拉江湖 - 泰拉刺客

联系泰拉开发组👈进入 积分市场 - 房产交易 - 水晶获取

查看: 3720|回复: 0

[原生PHP] PHP7兼容mysql_connect的方法

[复制链接]
魔戒之主
法师

2051

主题

2415

回帖

2472

广播

技术小组

积分
17558
泰拉
6032
水晶
14820
铜钥匙
1157
银钥匙
0
金钥匙
0

【江湖新秀】【基友证明】【水贴恶魔】【高朋满座】【论坛蘑菇党】【我是小土豪】【宝剑回鞘】【伪娘证书】【超级玛丽】【泰拉达人】【文艺青年证】【社区最高荣誉勋章】【奥运选手】【我很囧证】【宠物·缘定三生】【发帖机器】【潜水高手】【我很萌证】【动漫迷】【有头有脸】【视频爱好者】【萝莉控】【香水有毒】【朋友控】【我素软妹纸】【我是巫婆】【我是公主】【我很聪明证】【新官上任三把火】

QQ
发表于 2020-9-7 14:05:16 | 显示全部楼层 |阅读模式
0x01 前言

PHP7不再兼容mysql系列函数,入mysql_connect等操作,强行操作报错:Uncaught Error: Call to undefined function mysql_connect(),所以我们要采用mysqli系列的操作mysql方式,让PHP7兼容mysql_connect操作有两种方式,一种是安装mysql扩展,另一种是在代码层定义mysql_connect等函数,来兼容原来的操作,当然,这种操作只是自己定义了函数,内部操作还是mysqli系列的。

0x02 兼容代码

将下面的代码放在入口文件引入即可:

  1. $dbhost = DATA_HOST;
  2. $dbport = 3306;
  3. $dbuser = DATA_USERNAME;
  4. $dbpass = DATA_PASSWORD;
  5. $dbname = DATA_NAME;
  6. if(!function_exists('mysql_connect')){
  7.     function mysql_connect($dbhost, $dbuser, $dbpass){
  8.         global $dbport;
  9.         global $dbname;
  10.         global $mysqli;
  11.         $mysqli = mysqli_connect("$dbhost:$dbport", $dbuser, $dbpass, $dbname);
  12.         return $mysqli;
  13.         }
  14.     function mysql_select_db($dbname){
  15.         global $mysqli;
  16.         return mysqli_select_db($mysqli,$dbname);
  17.         }
  18.     function mysql_fetch_array($result){
  19.         return mysqli_fetch_array($result);
  20.         }
  21.     function mysql_fetch_assoc($result){
  22.         return mysqli_fetch_assoc($result);
  23.         }
  24.     function mysql_fetch_row($result){
  25.         return mysqli_fetch_row($result);
  26.         }
  27.     function mysql_query($query){
  28.         global $mysqli;
  29.         return mysqli_query($mysqli,$query);
  30.         }
  31.     function mysql_escape_string($data){
  32.         global $mysqli;
  33.         return mysqli_real_escape_string($mysqli, $data);
  34.         }
  35.     function mysql_real_escape_string($data){
  36.         return mysql_real_escape_string($data);
  37.         }
  38.     function mysql_close(){
  39.         global $mysqli;
  40.         return mysqli_close($mysqli);
  41.         }
  42. }
复制代码

上面的代码摘自Discuz X3.2 对 PHP7 的兼容性处理,原理还是很简单的。


获得 小财神卡 一张

卡片说明:墨裔 遇到 [有钱的花火] 被赠与 2 铜钥匙.

卡片效果:获得 2 铜钥匙

每天签到都被打劫

泰拉宝石
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

QQ|友链申请|Archiver|手机版|小黑屋|游芯沙盒 ( 陕ICP备11006283号-1 )

GMT+8, 2024-11-21 16:51 , Processed in 0.103221 second(s), 38 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表