【问题标题】:Replacement for deprecated function mysql_connect [duplicate]替换已弃用的函数 mysql_connect [重复]
【发布时间】:2013-05-08 00:43:13
【问题描述】:

所以我已经建立了这个亚马逊网络服务数据库

我正在为我打算使用它的应用程序编写一个旧教程。

我发现 mysql_connect 在我查找时已被弃用。

我可以用什么来替代?如何连接到我的亚马逊数据库?

<?
mysql_connect("localhost", "username", "password") or die ("Can't connect to database server");
mysql_select_db("videoRecorderDemo") or die ("Can't select database");
mysql_query("SET NAMES 'utf8'");
?>

我收到此错误:

Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'username'@'192.168.1.1' (using password: YES) in /www/zxq.net/r/e/d/red5vptest/htdocs/utility/db.php on line 2
Can't connect to database server

无论我使用什么凭据。 亚马逊的代码示例向您展示了一种完全不同的连接方式,这也无济于事。

【问题讨论】:

  • 有几个选项供您选择——this question 中提到的任何一个选项。是的,如果 AWS 文档使用 mysql 库示例,那么他们不应该这样做! :).

标签: php amazon-web-services


【解决方案1】:

The documentation for PHP says

此扩展自 PHP 5.5.0 起已弃用,将来将被删除。相反,应使用 MySQLiPDO_MySQL 扩展名。

$mysqli = new mysqli('localhost', 'my_user', 'my_password', 'my_db');

/*
 * This is the "official" OO way to do it,
 * BUT $connect_error was broken until PHP 5.2.9 and 5.3.0.
 */
if ($mysqli->connect_error) {
    die('Connect Error (' . $mysqli->connect_errno . ') '
            . $mysqli->connect_error);
}

【讨论】:

    【解决方案2】:

    您收到的错误消息与 mysql_connect 的弃用无关。您使用的 MySQL 用户名和密码(代码中的“用户名”和“密码”)是错误的——如果您不知道正确的值,请查看您安装的 MySQL 版本的文档。 (您可能需要创建用户和/或数据库。)

    正如其他几个人所提到的,支持的 mysql 扩展替代方案是 mysqliPDO MySQL

    【讨论】:

      【解决方案3】:

      MysqlI(mysql改进型)是mysql的继任者。

      $Link = new mysqli($Hostname, $Username, $Password, $Database);
      $Result = $Link->query('SELECT ...');
      $Rows = $Result->fetch_array(MYSQLI_NUM);
      

      【讨论】:

        【解决方案4】:

        MySQL 扩展的一个简单替代方案是 MySQLi。而不是

        mysql_connect("host", "username", "password") 
        

        ...您可以使用例如连接

        $db = mysqli_connect("host", "username", "password");
        

        可能值得阅读这个有用的教程: http://phpmaster.com/avoid-the-original-mysql-extension-1/

        【讨论】:

          【解决方案5】:

          手册建议使用 mysqli 作为替代 http://php.net/manual/en/book.mysqli.php

          【讨论】:

            猜你喜欢
            • 2014-03-14
            • 1970-01-01
            • 2016-06-18
            • 2017-05-14
            • 1970-01-01
            • 2017-10-06
            • 2019-12-20
            • 2015-06-25
            • 1970-01-01
            相关资源
            最近更新 更多