错误Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future:的解决方法
初写PHP代码,研究别人的代码,在本机运行遇到了这个非常不友好的报错(Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future:),很是烦人,查看了很多前辈们的博客,最终找到了这些方法,留作后用吧,万一哪天又忘记了…
php 好多个版本,5.2、5.3、5.4、5.5,怕跟不上时代,新的服务器直接上5.6,但是程序出现如下错误:Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in,看意思就很明了,说mysql_connect这个模块将在未来弃用,请你使用mysqli或者PDO来替代。
解决方法1:
禁止php报错
修改php.ini
display_errors = On
改为
display_errors = Off
鉴于这个服务器都是调试用的,有时候需要报错,不能这样做,还是改程序吧
下面就是我们常用的方法了:
解决方法2:
常用的php语法连接mysql如下
<?php
$link = mysql_connect('localhost', 'username', 'password');
mysql_select_db('db_name', $link);
将mysql_connect()
改成mysqi_connect()
<?php
$link = @mysqli_connect('localhost', 'username', 'password', 'db_name');
常用mysql建表SQL如下
<?php
// 旧写法
mysql_query('CREATE TEMPORARY TABLE `table`', $link);
// 新的
mysqli_query($link, 'CREATE TEMPORARY TABLE `table`');
解决方法三:
在php程序代码里面设置报警级别
<?php
error_reporting(E_ALL ^ E_DEPRECATED);
如此一来,就可以解决掉这个可恶的错误了
其实
error_reporting(E_ALL ^ E_DEPRECATED);
这一句直接复制下来放到出错页代码中的
<?php后面就可以了,我自己是新手,这样也是为了提示自己。
第二天测试了一下,发现上面这句话要放到一个单独的php语句中,不能和其他的混到一块,否则会有想不到的bug,后来改成这种形式以后就没事了。
<?php
error_reporting(E_ALL ^ E_DEPRECATED);
?>