phpmyadmin 警告:mysql_query()[函数. mysql-查询]:用户'ODBC'@'localhost'的访问被拒绝(使用密码:否)

woobm2wo  于 2022-11-09  发布在  PHP
关注(0)|答案(6)|浏览(209)

我在Windows 7上使用XAMPP。当我尝试打开当前项目的login.php时
我收到此错误

Warning: mysql_query() [function.mysql-query]: Access denied for user 'ODBC'@'localhost' (using password: NO) in E:\xampplite\htdocs\newfule\mcp\clientlist.php on line 19

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in E:\xampplite\htdocs\newfule\mcp\clientlist.php on line 19

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in E:\xampplite\htdocs\newfule\mcp\clientlist.php on line 21
Sorry No entries for the Records of Student ......

这是配置文件

<?php

$link = mysql_connect('127.0.0.1', 'root', '');
if (!$link) {
   die('Not connected : ' . mysql_error());
}

// make foo the current db
$db_selected = mysql_select_db('fueldb', $link);
if (!$db_selected) {
   die ('Can\'t use foo : ' . mysql_error());
}
?>

这是phpmyadmin中的一个警告

jei2mxaa

jei2mxaa1#

使用phpmyadmin时,你不能让一个用户的密码为空,而mysql则允许这样做。

tzdcorbm

tzdcorbm2#

配置文件中似乎没有出现错误。如果没有指定任何用户,ODBC是默认用户。因此,由于配置文件中的一切似乎都很好,所以可能是在调用mysql_query之前没有包含该用户,或者mysql_query调用本身是错误的。
没有更多的代码,就没有真正的方法知道。

f87krz0w

f87krz0w3#

我认为你没有问题的配置文件。我认为问题与添加一个配置文件或包括一个配置文件。我建议你检查链接,包括或添加配置文件。

4ioopgfo

4ioopgfo4#

使用本地主机而不是127.0.0.1
127.0.0.1 使用TCP而不是Unix套接字
也停止使用PHP的mysql。它已经被删除了。使用mysqli或pdo

wwwo4jvm

wwwo4jvm5#

您的错误和配置文件未应用于相同的用户
警告:mysql_query()[函数. mysql-查询]:用户'ODBC'@'localhost'的访问被拒绝(使用密码:否)

  • 从主机“localhost”查询用户“ODBC”时出错 *
mysql_connect('127.0.0.1', 'root', '');
  • 正在使用用户“root”连接到“127.0.0.1”*

“clientlist.php”似乎正在使用其他$link资源,请检查您的配置是否正确。
还要考虑到mysql用户表中的用户默认包含主机引用。这意味着root@localhost可以正确访问而不需要密码,但root@127.0.0.1可能被拒绝。
您可以在“mysql”数据库的用户表中查看注册用户,如果他们有密码和主机(或多个主机)允许。如果主机不同,每个用户可能会出现不止一次。也可以在主机中使用字符“%”来允许所有主机或子网(* 但我不建议在生产环境中使用 *)
在所有情况下,建议创建一个适当的用户,并为所需的数据库分配操作权限。

ee7vknir

ee7vknir6#

尝试为用户提供访问表:

grant all On [tabelName] to [userName];

这些例子

grant all On mysql.* to root;

相关问题