当我尝试使用mysql_real_escape_string()时出现此错误。
Access denied for user 'ODBC'@'localhost' (using password: NO)
我不明白为什么我必须连接到数据库以检查值是否可以插入MySQL。
答案 0 :(得分:11)
这是因为mysql_real_escape_string考虑了连接的当前字符集。因此,它需要连接。 : - )
如果您不想提前手动设置连接,可以在.ini文件中设置各种MySQL runtime defaults。
但是,如果您正在使用自己的数据库类(或简单地使用手动命令),则通常需要在脚本的生命周期早期建立连接。
答案 1 :(得分:1)
因为转义取决于服务器上的字符集。请参阅mysql_real_escape_string in the MySQL manual(同名的PHP函数只是这个C函数的包装器。)
答案 2 :(得分:-3)
查找并删除
mysql_close();
此功能完全与MySQL服务器断开连接