4

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

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

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

4

3 回答 3

13

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

如果您不想提前手动设置连接,您可以在 .ini 文件中设置各种MySQL 运行时默认值。

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

于 2011-01-01T16:23:52.650 回答
1

因为转义取决于服务器上的字符集。请参阅MySQL 手册中的 mysql_real_escape_string(同名的 PHP 函数只是这个 C 函数的包装)。

于 2011-01-01T16:25:20.213 回答
-3

查找和删除

mysql_close();

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

于 2012-02-24T11:37:44.890 回答