php5.4.45代码升级到php7.3.4后不支持mysql_xxx的解决方法_mysql_select_db php7.-程序员宅基地

技术标签: 7.x  代码  php  PHP  移植  5.x  

比如原来连接数据库,用的conn.php,代码为:

<?php
$dbhost = '127.0.0.1';
$dbuser = 'root';
$dbpass = 'root';
$dataname = "xxxx";
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(!$conn)
{
	die('Could not connect1: ' . mysql_error());
}

mysql_query("create database IF NOT EXISTS ".$dataname." default charset utf8 COLLATE utf8_general_ci");

if(!mysql_select_db($dataname, $conn))
{
	die('Could not connect2: ' . mysql_error());
}

require 'ct.php';//一些建表的Sql函数
?>

升级到PHP7.x后,当然是不行的,因为php7中去掉了mysql_xxx开头的函数库,从而用mysqli_开头的函数库代替,解决方法,就是新建一个php文件,比如php7.php,内容如下:

<?php
// *************** PHP7 START ***************  
if(!function_exists('mysql_connect')){
    function mysql_connect($host,$user,$passwd){
        return mysqli_connect($host,$user,$passwd);
    }
 
    function mysql_select_db($dbname,$conn){
        return mysqli_select_db($conn,$dbname);
    }

    function mysql_errno($cxn=null){
        return mysqli_errno($cxn);
    }
 
    function mysql_error($cxn=null){
        return mysqli_error($cxn);
    }
 
    function mysql_fetch_array($result){
        return mysqli_fetch_array($result);
    }
 
    function mysql_fetch_assoc($result){
        return mysqli_fetch_assoc($result);
    }
 
    function mysql_fetch_row($result){
        return mysqli_fetch_row($result);
    }
 
    function mysql_insert_id(){
        global $conn;
        return mysqli_insert_id($conn);
    }
 
    function mysql_num_rows($result){
        return mysqli_num_rows($result);
    }
 
    function mysql_query($sql){
        global $conn;
        return mysqli_query($conn,$sql);
    }
 
    function mysql_real_escape_string($data){
        return mysqli_real_escape_string($cxn,$data);
    }
 
    function  mysql_get_server_info($cxn){
        return  mysqli_get_server_info($cxn);
    }
 
    function mysql_ping($cxn){
        return mysqli_ping($cxn);
    }
}
?>

然后在原来的conn.php前面,加一行就搞定了

<?php
require 'php7.php';//加入此行,让php5.x的代码,支持php7中的mysqli_xxx系列函数

$dbhost = '127.0.0.1';
$dbuser = 'root';
$dbpass = 'root';
$dataname = "xxxx";
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(!$conn)
{
	die('Could not connect1: ' . mysql_error());
}

mysql_query("create database IF NOT EXISTS ".$dataname." default charset utf8 COLLATE utf8_general_ci");

if(!mysql_select_db($dataname, $conn))
{
	die('Could not connect2: ' . mysql_error());
}

require 'ct.php';//一些建表的Sql函数
?>

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/zwf888/article/details/103189831

智能推荐

nodejs如何将数据返回到html,html5,node.js_如何用nodejs接收GPS发送的数据,并实时返回前台页面,html5,node.js,javascript - phpStudy...-程序员宅基地

文章浏览阅读1.2k次。如何用nodejs接收GPS发送的数据,并实时返回前台页面我的需求是这样的:1、通过GPS向一个固定IP下的某一个端口发送实时坐标信息。2、用nodejs写一个后台,获取GPS发送的坐标信息。3、使用nodejs中的socket.io包结合html5的websocket把数据实时的返回到前台页面,然后再在前台页面展示GPS数据。开发环境:使用TCP/UDP Socket调试工具模拟GPS发送数据;..._nodejs 前端如何拿到屏幕流

java仿制百度云盘_springboot仿百度网盘开发的在线云盘项目-程序员宅基地

文章浏览阅读1k次。项目描述使用springboot开发的在线云盘项目,用户可以上传视频,音乐,文档,图片等媒体文件,其中视频和音乐可以在线预览(MP4视频格式可以在线预览,但是没mp4的视频格式,例如avi格式,要使用ie浏览器预览)此项目还可以新建、删除、修改文件夹,并且,文件像百度云一样,有分享功能,可以设置文件的提取码,设置文件的有效时间等等对github上的项目略有改动运行环境jdk8+mysql+Inte..._java 实现类似于网盘一样的文件管理功能

湖南大学计算机考研科目2020,2020湖南大学计算机与软件工程考研初试科目、参考书目、录取情况全解析...-程序员宅基地

文章浏览阅读6.8k次。二、计算机专业考试科目计算机学硕:①101思想政治理论②201英语一③301数学一④866 数据结构、867 计算机系统任选一计算机专硕:①101 思想政治理论②204 英语二③302 数学二④829 计算机程序设计、830 数字电路与逻辑设计任选一软件工程专硕:①101 思想政治理论②204 英语二③302 数学二④829 计算机程序设计三、2019考研招生计划计算机学硕招生82人,专硕招生11..._湖南大学计算机软件与理论

BAT基础知识_bat入门语法-程序员宅基地

文章浏览阅读3.6k次,点赞15次,收藏78次。第一章 批处理基础第一节 常用批处理内部命令简介批处理定义:顾名思义,批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BAT或者CMD。这些命令统称批处理命令。小知识:可以在键盘上按下Ctrl+C组合键来强行终止一个批处理的执行过程。了解了大概意思后,我们正式开始学习.先看一个简单的例子!@echo offecho "欢迎来到非常BAT!"pause把上面..._bat入门语法

【UiPath2022+C#】UiPath 调试_uipath 自动重试-程序员宅基地

文章浏览阅读1.9w次,点赞4次,收藏7次。本博文我们将介绍让自动化进入就绪状态最重要的因素之一:如何在工作流中使用调试功能解决错误。_uipath 自动重试

阿龙的学习笔记---Linux GDB 调试工具(博客转载总结)_阿龙linux-程序员宅基地

文章浏览阅读83次。GDB基础操作:https://blog.csdn.net/21cnbao/article/details/7385161100个GDB小技巧,忒多了,留着以后看。https://www.kancloud.cn/wizardforcel/gdb-tips-100/146717GDB小结:https://blog.csdn.net/lm409/article/details/80303709_阿龙linux

随便推点

rabbitmq接口异常函数方法_rabbitmq坑点与异常处理-程序员宅基地

文章浏览阅读601次。一、None of the specified endpoints were reachable这个异常在创建连接时抛出(CreateConnection()),原因一般是ConnectionFactory参数设置不对,比如HostName、UserName、Password标准设置:var factory = new ConnectionFactory();factory.UserName = ..._amqp close-reason, initiated by library, code=541, text='unexpected exceptio

蓝桥杯 第3天 动态规划_最后一块石头的重量 蓝桥杯-程序员宅基地

文章浏览阅读212次。目录1.509. 斐波那契数 - 力扣(LeetCode) (leetcode-cn.com)2.70. 爬楼梯 - 力扣(LeetCode) (leetcode-cn.com)3.746. 使用最小花费爬楼梯 - 力扣(LeetCode) (leetcode-cn.com)4.62. 不同路径 - 力扣(LeetCode) (leetcode-cn.com)dfs版本(只能应对小数量级)动态规划5.63. 不同路径 II 题解 - 力扣(LeetCode) (leetco._最后一块石头的重量 蓝桥杯

基于opencv和QT的摄像头采集代码( GoQTtemplate3持续更新)-程序员宅基地

文章浏览阅读164次。在Linux操作系统上,编写带界面的图像处理程序,选择opencv+QT是一种很好的选择。GoQTtemplate3是我为编写Linux下图像处理程序实现的框架,希望能够为大家解决Linux环境下桌面图像处理程序,提供一些帮助。文中相关代码请参考:https://github.com/jsxyhelu/GOQTtemplate3一、基本环境构建a、我们需要完整地安装QT。具体方法,是从网..._qt+opencv+手势识别代码

Python Spark WordCount_python spark wordcount-程序员宅基地

文章浏览阅读1.8k次。1.map与flatMap 的区别; 使用map产生的 list 是分层的,第一层是 List 文件文本的第一行,第二层是 List 每一行内英文单词,而 flatMap 有平铺的意思,产生的 List 会去掉分层,文件读取textFile = sc.textFile('dir/目录')Word 分散,偏平化stringRDD= textFile.flatMap(lambda line: li..._python spark wordcount

tp5访问的时候必须加index.php,TP5怎么隐藏index.php-程序员宅基地

文章浏览阅读411次。这篇文章介绍的内容是关于TP5怎么隐藏index.php,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下tp5对URL简化,不做简化情况下我们访问的是localhost/index.php/index/index/index ,做简化后省去index.php。我们需要找到public下面的.htaccess文件修改成这样Options +FollowSymlinks -Multiv..._thinkphp5 必须加index.php

python背景介绍_Python简介1--Python发展背景-程序员宅基地

文章浏览阅读1.2k次,点赞2次,收藏2次。Python的作者,Guido von Rossum(吉多·范·罗苏姆,中国Python程序员都叫他 龟叔),荷兰人。1982年,龟叔从阿姆斯特丹大学获得了数学和计算机硕士学位。然而,尽管他算得上是一位数学家,但他更加享受计算机带来的乐趣。用他的话说,虽然拥有数学和计算机双料资质,他总趋向于做计算机相关的工作,并热衷于做任何和编程相关的事情。在那个时候,龟叔接触并使用过诸如Pascal、C、For..._python计算器程序背景与意义

推荐文章

热门文章

相关标签