使用mysql_real_escape_string连接错误

时间:2013-02-08 08:59:00

标签: mysql php

当我浏览我的网站时,一切正常。该网站与数据库连接并显示结果。但是,每当遇到mysql_resl_escape_string时,我都会收到此错误:

  

mysql_real_escape_string()[function.mysql-real-escape-string]:无法通过套接字'/var/lib/mysql/mysql.sock'(2)连接到本地MySQL服务器......

请注意,一旦我从每个页面删除mysql_real_escape_string代码,网站就会正常运行。但是,这是不合理的。这件事的解决方法是什么?

4 个答案:

答案 0 :(得分:1)

要使mysql_real_escape_string生效,首先必须通过mysql_connect

连接到MySQL

答案 1 :(得分:0)

错误表示在php.ini中未正确配置默认的mysql数据库连接。

如果没有先连接到数据库,您可能会使用mysql_real_escape_string,这就是PHP将尝试使用php.ini的默认配置连接到数据库。

在你的情况下,这些默认设置不能正常运行,这就是全部。

更改配置并且错误消失 - 或 - 提供有效的mysql数据库连接作为mysql_real_escape_string函数调用的参数。

附加说明:如果您正在编写新代码,请删除mysql_*函数以访问您的mysql数据库。请改为选择MysqliPDO

答案 2 :(得分:0)

您是否将从mysql_connect返回的连接变量作为第二个参数传递?

另一方面,您应该真正转向使用PDO,如果您使用其准备功能,它会自动转义字符串。

答案 3 :(得分:-1)

您正在以错误的方式使用此功能 您只需在代码顶部的某处处理所有用户输入值,而不是在将它们放入查询之前立即处理仅字符串值。 它会引导你进行sql注入