当前位置: 首页 > 知识库问答 >
问题:

拒绝访问用户“”@'localhost'(使用密码:否)[重复]

梁浩涆
2023-03-14

尝试使用以下代码连接到localhostsql db(此时不执行任何查询操作,只想执行查询):

<?php

$host     = "localhost";
$port     = 3306;
$socket   = "";
$user     = "root";
$password = "Password1";
$dbname   = "CIIP_WIKI";

$con = new mysqli($host, $user, $password, $dbname, $port);

if(!$con)
{
echo ("db connection failed!");
die ('Could not connect to the database server' . mysqli_connect_error());
}

else {
    echo ("db connection established.");
    echo ("<br/>");
    }

$query = sprintf("SELECT first_name FROM actor WHERE actor_id='1'");

$result = mysql_query($query);

$con->close();

?>

我一直得到以下信息。。。

Welcome

db connection established.

Warning: mysql_query(): Access denied for user ''@'localhost' (using password: NO) in C:\Program Files (x86)\EasyPHP-12.1\www\Cisco Wiki\index.php on line 31

Warning: mysql_query(): A link to the server could not be established in C:\Program Files (x86)\EasyPHP-12.1\www\Cisco Wiki\index.php on line 31

为什么这样不行?

共有2个答案

淳于涛
2023-03-14

在没有可用的有效连接对象的情况下尝试执行查询时,将记录此警告。

在您的例子中,您认为有一个有效的连接对象可用,但在使用mysql执行查询时,您使用mysqli创建了它。这是两个不同的API,因此mysql_查询函数正在查找mysql连接对象,但没有找到它。

薛元忠
2023-03-14

这是因为您使用mysqli\u创建了一个连接,然后使用mysql\u尝试获取结果。它们是不同的API。

<?php

/* You should enable error reporting for mysqli before attempting to make a connection */
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);

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

/* Set the desired charset after establishing a connection */
mysqli_set_charset($mysqli, 'utf8mb4');

printf("Success... %s\n", mysqli_get_host_info($mysqli));

摘自PHP手册的示例

 类似资料:
  • 我正在Windows 7 64位上使用WAMP服务器2。 当我使用root用户输入phpmyadmin时,它显示错误: " #1045 -拒绝用户' root'@'localhost的访问(使用密码:否)" 如果我更改用户名,则它允许我显示phpmyadmin页面。 如果我创建数据库,那么它会向我显示一个错误: “#1044-用户“@本地主机”对数据库“family”的访问被拒绝” 并表示至少需要

  • 一直以来,我都试图在wamp服务器中打开phpMyAdmin,并试图使用默认用户名和密码登录,即分别为“root”和“root”,但显示的错误相同。 phpMyAdmin试图连接到MySQL服务器,服务器拒绝了连接。您应该检查配置中的主机、用户名和密码,并确保它们与MySQL服务器管理员提供的信息相对应。 即使在卸载wamp并重新安装之后,它也会显示相同的错误。 我已经浏览了与该问题相关的所有帖子

  • 我在使用Laravel 5.0的Mac OS Yosemite上。 在我的本地环境中,我运行 拒绝访问用户'homestad'@'localhost'(使用密码:是) 配置 这是我的.env app\config\database.php 我如何避免这种错误? 我试过: 在app/database.php中 将替换为

  • 嘿,伙计们,我正在用springboot开发一个Java应用程序,我是springboot的初学者,每次我试图运行这个项目时都会出现这些错误,我不知道发生了什么,我已经回顾了许多文章,但没有一篇能帮我解决这个问题。我把application.properties的代码和它在运行应用程序时抛出的错误留给你,谢谢 application.properties 错误的图像 错误 错误 错误 错误 我希望

  • 因此,当我尝试从Java代码连接到MySQL数据库时,我收到错误的访问被拒绝。我所能找到的一切都没有解决问题,代码是非常基本的。我以前在项目中用过,在很多教程中都发现它是那样的。所以首先相关代码: 注意:我可以很好地登录到MySQL workbench中的DB中,并在那里做所有的事情,从创建/更改表到插入等等。 那么我做了什么来解决这个问题:它让我想知道为什么它没有声明哪个用户被拒绝了注意它声明“

  • 我知道这个标题看起来很熟悉,但不是。我正在处理一个web应用程序,当我运行它时,它显示:用户'root'@'localhost'的访问被拒绝(使用密码:NO)。我搜索了一些网站,他们说我应该使用密码。所以我使用mysql控制台更改了密码。我得到的消息是拒绝用户'root'@'localhost'的访问(使用密码:YES)。当我重新进入mysql控制台并输入密码时,它会发出一声哔哔声,然后关闭。我得