我试图在数据进入我的数据库之前转义一些数据,但我不断收到此错误:
Warning: mysql_real_escape_string(): Access denied for user
现在,这通常表明我尚未连接到数据库(它还声明(使用密码:NO))。
我对此有点困惑,因为当连接到数据库时,我有一个“die”子句,因此如果连接失败,我会被告知。因此,我通过在我试图转义数据的同一函数中运行一个简单的查询来测试这个理论,它工作得很好。
那么到底为什么转义方法不起作用或无法连接到数据库呢?我确实注意到错误状态的用户不是我用来访问数据库的用户,它类似于“www-data@localhost”。是否会尝试使用其他用户登录,如果是的话,为什么以及如何登录?因为在我网站的另一个区域,转义功能工作得很好,我没有做任何特殊的事情来使其工作,只是将代码添加到我的网页中。
谢谢您的帮助。
还有其他方法可以清理我的代码吗?
好的,我们开始吧,当用户提交表单时,我使用 AJAX 收集数据并将其放入 obj 中以将其发布(JSON 编码)到第一个 PHP 脚本,如下所示:
http://codepad.org/kGPljN4I http://codepad.org/kGPljN4I
该脚本检查所有数据是否存在,然后调用一个函数将其添加到数据库中
调用这个 Mysql 类来转义数据,然后将新记录添加到数据库中,当创建该类的实例时,它会与数据库建立连接:
http://codepad.org/wwGNrTJm http://codepad.org/wwGNrTJm
第三个文件是常量,它保存数据库的信息,如密码、用户等:
http://codepad.org/dl0QQbi9 http://codepad.org/dl0QQbi9
好点?
再次感谢您的帮助。