方式一:
在PHP代码中使用phpinfo()函数查看PHP基本信息
从PHP5.0开始mysql_connect()就不推荐使用了,到PHP7.0就直接被废弃了,如果PHP为7.0及以上版本的话用mysqli_connect()代替
方式二:
安装的php缺少mysql模块导致
CentOs安装mysql模块:
yum install php-mysql -y
如果安装了之后报下面的警告
Headers and client library minor version mismatch. Headers:
这是由于高版本的MySQL,低版本的MySQL Client API引起的
这时候可以先卸载刚才的php-mysql
yum remove php-mysql -y
然后
yum install php-mysqlnd -y
最后重启apache
systemctl restart httpd
Ubuntu安装mysql模块:
apt-get install php5-mysql
sudo dpkg-reconfigure php5-mysql
sudo /etc/init.d/mysql restart
方式三:
如果前两种方法都不能解决,试着在php.ini配置文件中打开mysql模块的扩展
php.ini文件中查找 ;extension=“有关的mysql模块” 把前面的;去掉
然后确保extension的dir指向的是扩展存放的目录
windows一般在ext下面,centos在/usr/lib64/php/modules下面
以上信息都可以在phpinfo打印出的信息查找到
不过我遇到这个问题的时候,只需要安装php-mysql模块就好了,并不需要修改php.ini
方法四:
通过自行写函数让php7+可以使用mysql_connect();
if(!function_exists('mysql_connect')){ function mysql_connect($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); } function mysql_real_escape_string($data){ return mysql_real_escape_string($data); } function mysql_close(){ global $mysqli; return mysqli_close($mysqli); } }
Copyright © 2021.自由园 All rights reserved. 鲁ICP备16000743号 滇公网安备 53010302001103号