1

我在 mysqli 连接方面遇到了一些奇怪的问题。

我正在使用 mysqli 处理一个页面,并且它一整天都运行良好。然后我制作了这个页面的副本,并将其剥离以调试问题,并将其作为不同的文件进行测试。它在连接方面工作得很好。在尝试请求我正在处理的原始文件时,我收到错误:

用户 'user'@'localhost' 的访问被拒绝(使用密码:YES)

我不明白为什么。每次使用完连接后,我都关闭了连接,尽管我不明白为什么会出现问题。有趣的是,该文件的旧版本工作正常,尽管包含完全相同的连接细节和代码。

到底是怎么回事?

4

5 回答 5

1

把问题转过来。与其说两个版本(一个有效的一个和一个无效的)在重要方面是相同的,不如关注它们不同的方式,并尝试找出哪些差异也很重要。

制作工作版本的附加副本。验证它是否有效。尝试通过将尽可能多的更改一个一个地应用到此测试副本,使其成为非工作版本的副本,直到您拥有尽可能接近损坏版本但仍然有效的东西. 比较这两个,这应该会告诉你问题出在哪里。

于 2009-03-27T14:39:13.020 回答
0

诡异的。如果您正在测试来自同一台机器的文件,它们应该可以工作(如果它们具有相同的代码)。

再次检查用户名和密码,即空格或奇怪的字符。

于 2009-03-27T14:29:54.853 回答
0

确保您的 IP 已添加到 MySQL 允许的连接列表中,同时确保您的密码正确。如果可能,请尝试提供完整的主机名而不是 localhost。

如果不成功,请发布您的代码。

于 2009-04-06T23:16:43.733 回答
0

只是为了它,在工作副本和文件的旧版本之间运行一个差异。检查是否存在任何问题,例如:移动括号、变量名更改等。也许定义用户名和密码的代码部分永远不会运行!

如果您需要免费程序,请检查WinDiff

于 2009-03-28T03:34:49.770 回答
0

如果你放:

error_reporting(E_ALL);

作为您代码中的第一行,您是否在任一页面上都收到任何错误?可能有一些奇怪的事情,例如程序无法再打开包含文件。


您说将文件 A 复制到文件 B 意味着文件 A 不起作用。如果将文件 A 复制到文件 B,删除文件 A,然后将文件 B 复制到文件 A,会发生什么?

于 2009-03-31T17:19:19.110 回答