【问题标题】:Mysql_real_escape_string() A link to the server could not be establishedmysql_real_escape_string() 无法建立到服务器的链接
【发布时间】:2011-01-01 16:19:43
【问题描述】:

当我尝试使用 mysql_real_escape_string() 时出现此错误。

Access denied for user 'ODBC'@'localhost' (using password: NO)

我不明白为什么我必须连接到数据库以检查值是否可以插入 MySQL。

【问题讨论】:

标签: php mysql mysql-error-1045


【解决方案1】:

这是因为mysql_real_escape_string 考虑了连接的当前字符集。因此,它需要一个连接。 :-)

如果您不想提前手动设置连接,可以在 .ini 文件中设置各种 MySQL runtime defaults

但是,如果您使用自己的数据库类(或只是手动命令),通常值得在脚本生命周期的早期建立连接。

【讨论】:

  • 然而,这个功能几乎永远不会起作用,因为几乎没有人使用 mysql_set_charset() 函数。
  • @Col。弹片 - 悲伤,但可能是真的。显然缺乏连接、字符集和表排序规则编码的知识。不过,生活就是这样。 :-)
  • 好吧,无论如何 99% 的编码都没关系。此外,每个人都在(或者,至少,他们正在)朝着准备好的陈述前进,所以,再次无关紧要
  • @Col。弹片 - 当然,我很确定每个人 都会在下一个 mumble mumble mumble 结束时使用 PDO。 :-)
【解决方案2】:

因为转义取决于服务器上的字符集。见mysql_real_escape_string in the MySQL manual(同名的PHP函数只是这个C函数的包装)。

【讨论】:

    【解决方案3】:

    查找并删除

    mysql_close();
    

    此函数与 MySQL 服务器完全断开

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-03-04
      • 2021-01-02
      • 1970-01-01
      • 2020-04-06
      • 2016-08-12
      • 2013-01-09
      • 2012-10-17
      • 1970-01-01
      相关资源
      最近更新 更多