• [mysql] mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in


    From: http://www.ttlsa.com/php/deprecated-mysql-connect/

    php 5个版本,5.2、5.3、5.4、5.5,怕跟不上时代,新的服务器直接上5.5,但是程序出现如下错误: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报错

    display_errors = On
    改为
    display_errors = Off

    鉴于这个服务器都是给用户用的,有时候他们需要报错(…都是给朋友用的,^_^),不能这做,让他们改程序吧,看方案2.

    解决方法2:

    常用的php语法连接mysql如下

    <?php
    $link = mysql_connect('localhost', 'user', 'password');
    mysql_select_db('dbname', $link);
     
    改成mysqi
    <?php
    $link = mysqli_connect('localhost', 'user', 'password', 'dbname');

    常用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);

    Deprecated的问题就这样解决掉了,不过还是建议大家尽快取消mysql的用法,全部都走向mysqli或者mysqlnd等等。mysql确实是太不安全而且太老旧了。

     
    =========================================
    完整的测试例子:
    <?php
    
    	// 方法一: 老的方法
    	function test1()
    	{
    		$con = mysql_connect("localhost", "root", "123456");
    		if(!$con)
    		{
    			die('Could not connect: ' . mysql_error());
    		}
    		else
    			echo "Open mysql db success<br/>";
    		mysql_close($con);
    	}
    	test1();
    
    	// 方法二: 新的方法
    	echo "test2<br>";
    	function test2()
    	{
    		$link = mysqli_connect("localhost", "root", "123456", "");
    		if(! $link)
    		{
    			die('Could not connect: ' . mysql_error());
    		}
    		else
    			echo "Open mysql db success<br/>";
    		mysqli_close($link);
    	}
    	test2();
    
    ?>
    

    运行结果:

    Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /Users/zcm/work/pocketmu/source/vn/vn0/web/mu/th/t1.php on line 6
    Open mysql db success
    test2
    Open mysql db success
    
     
  • 相关阅读:
    Python
    Java 内部类
    Django with uWSGI and nginx
    Android 使用AsyncTask 下载图片的例子,学会使用AsyncTask
    django QuerySet里那些常用又不常见的技巧
    android模拟器网络设置(局域网)
    iOS9 class dump header
    Qt之QHeaderView自定义排序(终极版)
    Qt之QHeaderView自定义排序(QSortFilterProxyModel)
    Qt之QHeaderView排序
  • 原文地址:https://www.cnblogs.com/joeblackzqq/p/4526797.html
Copyright © 2020-2023  润新知