Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/252.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 警告:mysql#u query()[function.mysql query]:拒绝用户访问';ODBC'@';本地主机';(使用密码:否)_Php_Mysql_Phpmyadmin_Xampp - Fatal编程技术网

Php 警告:mysql#u query()[function.mysql query]:拒绝用户访问';ODBC'@';本地主机';(使用密码:否)

Php 警告:mysql#u query()[function.mysql query]:拒绝用户访问';ODBC'@';本地主机';(使用密码:否),php,mysql,phpmyadmin,xampp,Php,Mysql,Phpmyadmin,Xampp,我在Windows7上使用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() [funct

我在Windows7上使用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的一个警告


使用phpmyadmin,您不能让用户使用mysql中允许的空密码。

配置文件中似乎没有错误。ODBC在未指定时是默认用户,因此,由于配置文件中的所有内容看起来都很好,因此在调用mysql\u查询之前,它似乎没有被包括在内,或者mysql\u查询调用本身做错了


没有更多的代码,就没有真正的方法知道。

尝试将访问表提供给用户:

grant all On [tabelName] to [userName];
范例

grant all On mysql.* to root;

我认为您对配置文件没有问题。我认为添加配置文件或包含配置文件有问题。我建议您检查包含或添加配置文件的链接。

使用localhost而不是127.0.0.1

127.0.0.1使用TCP而不是unix套接字


同时停止使用mysql for PHP。它已被移除。使用mysqli或pdo

您的错误和配置文件不适用于相同的用户

警告:mysql_query()[function.mysql query]:用户“ODBC”@“localhost”的访问被拒绝(使用密码:否)

从主机“localhost”查询用户“ODBC”时出错

正在将用户“root”连接到“127.0.0.1”

?是否应用了您的配置?“clientlist.php”似乎正在使用其他
$link
资源

还要考虑mysql用户表中的用户默认包含主机引用的关联。这意味着root@localhost无需密码即可正确访问,但root@127.0.0.1可能被拒绝

您可以在“mysql”数据库的用户表中查看已注册的用户,前提是他们拥有密码并且允许使用主机。如果主机不同,每个用户可能会出现多次。也可以在主机中使用字符“%”来允许所有主机或子网(但我不建议在生产环境中使用此选项)


在所有情况下,建议创建一个适当的用户,并将权限分配给所需的数据库来操作它

只需编辑您的mysql用户。我要强调的是,如果没有密码,php脚本应该可以工作,而phpmyadmin则不能。拥有密码后,phpmyadmin也可以正常工作。可能存在使用Windows 7的用户报告的副本。这是对*nix服务器中最终安装的一个很好的评论,但对于当前使用XAMP服务器的情况,这不是一个很好的评论。在这两种情况下,mysqli而不是mysql的建议都是正确的。mysql可以很好地用于访问旧的mysql 4或以前的安装,但当前的xampp版本使用的是mysql服务器的更高版本,这无关紧要-mysql对待不同的版本
mysql_connect('127.0.0.1', 'root', '');