替换已弃用的函数mysql_connect

Hou*_*man 10 php amazon-web-services

所以我已经设置了这个Amazon Web Service数据库

我正在为一个我计划使用它的应用程序编写一个旧教程.

我注意到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'");
?>
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

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
Run Code Online (Sandbox Code Playgroud)

无论我使用什么凭据.亚马逊的代码示例显示您以完全不同的方式进行连接也无济于事.

Jua*_*des 11

PHP的文档说

自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);
}
Run Code Online (Sandbox Code Playgroud)


dus*_*uff 5

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

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