所以我已经设置了这个亚马逊网络服务数据库
我正在为一个我正计划使用它的应用程序编写一个旧教程。
我注意到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
无论我使用什么凭据。 亚马逊的代码示例显示您以完全不同的方式进行连接也无济于事。
答案 0 :(得分:10)
The documentation for PHP says
$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);
}
答案 1 :(得分:5)
您收到的错误消息与mysql_connect
的弃用无关。您正在使用的MySQL用户名和密码(代码中的“用户名”和“密码”)是错误的 - 如果您不知道正确的值,请查看您安装的MySQL版本的文档。 (您可能需要创建用户和/或数据库。)
答案 2 :(得分:1)
MysqlI(改进了mysql)是mysql的继承者。
$Link = new mysqli($Hostname, $Username, $Password, $Database);
$Result = $Link->query('SELECT ...');
$Rows = $Result->fetch_array(MYSQLI_NUM);
答案 3 :(得分:1)
MySQL扩展的一个简单替代方案是MySQLi。而不是
mysql_connect("host", "username", "password")
...你可以使用例如
连接$db = mysqli_connect("host", "username", "password");
这可能值得阅读这篇有用的教程: http://phpmaster.com/avoid-the-original-mysql-extension-1/
答案 4 :(得分:0)
手册建议将mysqli作为替代方案 http://php.net/manual/en/book.mysqli.php