警告:mysql_query() [function.mysql-query]:用户 'ODBC'@'localhost' 的访问被拒绝(使用密码:否)
Posted
技术标签:
【中文标题】警告:mysql_query() [function.mysql-query]:用户 \'ODBC\'@\'localhost\' 的访问被拒绝(使用密码:否)【英文标题】:Warning: mysql_query() [function.mysql-query]: Access denied for user 'ODBC'@'localhost' (using password: NO)警告:mysql_query() [function.mysql-query]:用户 'ODBC'@'localhost' 的访问被拒绝(使用密码:否) 【发布时间】:2011-11-29 07:59:20 【问题描述】:我在 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
【问题讨论】:
Warning: mysql_fetch_* expects parameter 1 to be resource, boolean given error 的可能重复项 【参考方案1】:使用 phpmyadmin 你不能有一个空密码的用户,而在 mysql 中是允许的。
【讨论】:
只需编辑你的mysql用户。我要强调的是,没有密码 php 脚本应该可以工作,而 phpmyadmin 不能。有了密码,phpmyadmin 也可以正常工作。【参考方案2】:错误似乎不在配置文件中。没有指定时,ODBC 是默认用户,因此由于配置文件中的所有内容似乎都很好,因此它似乎在调用 mysql_query 之前未包含在内,或者 mysql_query 调用本身执行错误。
没有更多代码,就没有真正的方法可以知道。
【讨论】:
【参考方案3】:尝试给用户访问表:
grant all On [tabelName] to [userName];
例子
grant all On mysql.* to root;
【讨论】:
【参考方案4】:我认为您的配置文件没有问题。我认为添加配置文件或包含配置文件有问题。我建议您检查包含或添加配置文件的链接。
【讨论】:
【参考方案5】:使用 localhost 代替 127.0.0.1
127.0.0.1 使用 TCP 而不是 unix 套接字
同时停止在 PHP 中使用 mysql。它已被删除。使用 mysqli 或 pdo
【讨论】:
用户报告说正在使用 Windows 7。这是对 *nix 服务器中最终安装的一个很好的评论,但不适用于当前使用 XAMP 服务器的情况。 建议用mysqli 代替mysql 在这两种情况下都是正确的。 mysql 很适合访问旧的 mysql 4 或以前的安装,但当前的 xampp 版本使用的是更高版本的 mysql 服务器 没关系 - mysql 区别对待【参考方案6】:您的错误和您的配置文件没有应用相同的用户
警告:mysql_query() [function.mysql-query]:用户 '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”数据库的用户表中查看注册用户,如果他们有密码和允许的主机(或主机)。如果主机不同,每个用户可能会出现多次。也可以在主机中使用字符“%”来允许所有主机或子网(但我不建议将其用于生产环境)
在所有情况下,建议创建一个适当的用户并为所需的数据库分配权限以操作它。
【讨论】:
以上是关于警告:mysql_query() [function.mysql-query]:用户 'ODBC'@'localhost' 的访问被拒绝(使用密码:否)的主要内容,如果未能解决你的问题,请参考以下文章
警告:mysql_query() [function.mysql-query]:用户 'ODBC'@'localhost' 的访问被拒绝(使用密码:否)