如何快速的让PHP 7.0支持MYSQL的函数?
来源:中国U网 日期:2018-10-17 类别:程序编程 点击:3376
“相对于PHP5,PHP7对语法做了比较大的改动,尤其是对数据库操作方面,废弃了最常用的MYSQL的操作函数,改用MYSQLI或者PDO MYSQL的方式。”
PHP更新的真快,想想开始学习的时候才出PHP4,一直用到PHP5,PHP6还没用,就到了PHP7。相对于之前的版本,PHP7对语法做了比较大的改动,尤其是对数据库操作方面,废弃了最常用的mysql的所有操作函数,改用MYSQLI或者PDO MYSQL的方式,导致很多原来的程序无法运行,但是我们又不能所有程序都重新开发一遍,那样工作量太大,只能想办法来解决。
1、通过安装MYSQL扩展来解决(不推荐)
从php网站上下载mysql扩展,地址:http://git.php.net/?p=pecl/database/mysql.git;a=summary , 找到里面的 Fixed support for master changes,下载下来
解压并使用phpize工具初始化:
#解压tar xzvf mysql-45881bd.tar.gz#进入mysql扩展目录cd mysql-45881bd/#使用phpize初始化,我的phpize在/opt/目录/opt/php/bin/phpize#编译mysql扩展,使用mysql native driver作为mysql链接库./configure --with-php-config=/opt/php/bin/php-config --with-mysql=mysqlndmake && make install
编辑php.ini文件,把mysql.so拷贝到php.ini的extension_dir中,然后在php.ini中加入extension=mysql.so
然后重启PHP,或者httpd
2、通过函数方式(推荐)
主要就是把原来的MYSQL的内置函数作为外部函数使用,用mysqli的方式重新写一遍。如下:
if(function_exists('mysql_pconnect')){function dbconnect(){global $dbhost,$dbname,$dbuser,$dbpass;mysql_connect($dbhost,$dbuser,$dbpass) or die("连接数据库出错!");mysql_select_db($dbname) or die("选择数据库出错!");}dbconnect();} else {$mysqli = mysqli_connect("$dbhost:$dbport", $dbuser, $dbpass, $dbname);function mysql_pconnect($dbhost, $dbuser, $dbpass){global $dbport;global $dbname;global $mysqli;$mysqli = mysqli_connect("$dbhost:$dbport", $dbuser, $dbpass, $dbname);return $mysqli;}function mysql_select_db($dbname){global $mysqli;return mysqli_select_db($mysqli,$dbname);}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_query($query){global $mysqli;return mysqli_query($mysqli,$query);}function mysql_escape_string($data){global $mysqli;return mysqli_real_escape_string($mysqli, $data);//return addslashes(trim($data));}function mysql_real_escape_string($data){return mysql_real_escape_string($data);}function mysql_close(){global $mysqli;return mysqli_close($mysqli);}}
需要根据函数的情况提前定义数据库的连接地址、用户名、密码、数据库名,端口等。
关键词:PHP 7, MYSQL函数,MYSQL扩展
如何快速的让PHP 7.0支持MYSQL的函数?为中国U网原创文章,在不经过允许的情况下,禁止用于商业用途或随意转载,转载请注明出处,并加上本页链接地址:
http://www.cuwww.com/help/detail-87.html
如何快速的让PHP 7.0支持MYSQL的函数?为中国U网原创文章,在不经过允许的情况下,禁止用于商业用途或随意转载,转载请注明出处,并加上本页链接地址:
http://www.cuwww.com/help/detail-87.html
服务器推荐
香港服务器租用:
E3-1230 / 8G / 1TB / 10M = 700元
美国洛杉矶服务器租用:
i3-4130 / 4G / 1TB / 30M=500元
荷兰服务器租用:
E3-1230/8G/4x1T/1G/100TB=680元
瑞典斯德哥尔摩服务器租用:
E3-1240 / 16G / 1T或250GB SSD / 1Gbps=950元
香港服务器租用:
E3-1230 / 8G / 1TB / 10M = 700元
美国洛杉矶服务器租用:
i3-4130 / 4G / 1TB / 30M=500元
荷兰服务器租用:
E3-1230/8G/4x1T/1G/100TB=680元
瑞典斯德哥尔摩服务器租用:
E3-1240 / 16G / 1T或250GB SSD / 1Gbps=950元
- 宝塔安装PHP的Swoole扩展的时候,CentOS 7提示No package 'libbrotlienc' found的解决方法
- ModuleNotFoundError: No module named 'PIL'解决方法
- 在Linux服务器上手动生成自签名证书
- Python数据类型中比较有趣的事情
- CentOS Linux下更换为阿里云的源repo
- Linux上安装宝塔BT面板企业版破解版(开心版9.0.0/9.1.0/9.2.0)
- Linux上如何卸载宝塔(BT)面板?
- 宝塔(BT)忘记BasicAuth身份验证密码怎么办?
- Windows11家庭版 出现身份验证错误。要求的函数不受支持,这可能是由于 CredSSP 加密数据库修正 错误解决办法
- 宝塔(BT)面板打不开,但网站可以打开的解决办法
- 如何调整Linux系统的inode大小?
- 如何在小米手机澎湃OS(Xiaomi Hyper OS)上安装Google Play Store