刚刚构建了我的第一个数据库,使用以下简单查询测试学习技能:
<?php
mysqli_connect("xxx","yyy","zzz" , "newtone" );
if (mysqli_connect_error()){
echo ("could not connect to database");
}
?>
这就是我得到的
:(42000/1044):用户"yyy"@"xxx"对数据库"newtone"的访问被拒绝......
我不明白。所以当我使用它时:
mysqli_connect("xxx","yyy","zzz" );
if (mysqli_connect_error()){
echo ("could not connect to database");
}
?>
我没有收到错误消息,只是一个空白页(请注意数据库名称未包含在登录参数中)。我做错了什么?
您要连接数据库,则需要三件事来创建连接dbhost用户名,dbhost密码和数据库名称。
<?php
$dbhost = "localhost";
$dbuser = "root"; //In case of localhost (default db username)
$dbpass = ""; //In case of localhost
$dbname = "testDb";//Your database name
$con = mysqli_connect($dbhost,$dbuser,$dbpass,$dbname );
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
?>
您的第二个示例之所以有效,是因为您已成功连接到 MySql 服务器,并且默认为"newtone"以外的默认数据库
如果您在连接后尝试使用类似 mysqli::select_db 的命令,您将看到相同的错误。 http://php.net/manual/en/mysqli.select-db.php
问题的症结似乎是用户 yyy 的权限。 确保用户 yyy 具有各种权限,例如在数据库"newtone"上读/写