使用mysql_real_escape_string()时,对于www-data拒绝Joomla访问

时间:2012-07-05 20:40:27

标签: php mysql joomla joomla1.6

我在使用Joomla开发的代码中使用了mysql mysql_real_escape_string($ somevariable)! API。 除了这个问题显示错误外,一切都很完美。

mysql_real_escape_string(): Access denied for user 'www-data'@'localhost' (using password: NO) in /var/www/JOOMLA/components/com_quiz/models/questions.php

我在互联网上搜索并得到以下解决方案: 创建一个$con=mysql_connect(....);并将其作为mysql_real_escape_string($somevariable,$con)中的第二个参数传递,该工作正常。

问题是我在我的代码中每个地方都使用Joomla API。所以我可以使用默认的Joomla db对象$db =& JFactory::getDBO();吗?

基本上我想要类似的东西 $db =& JFactory::getDBO(); mysql_real_escape_string($somevariable,$db)

但它显示错误: mysql_real_escape_string() expects parameter 2 to be resource, object given in /var/www/JOOMLA/components/com_quiz/models/questions.php on line 85

谢谢。

2 个答案:

答案 0 :(得分:3)

如果您使用Joomla数据库对象进行查询,为什么要使用mysql库的转义函数?你不需要。请遵循此Joomla wiki entry,其中介绍了如何使用DBO创建正确的转义SQL查询。

答案 1 :(得分:0)

改为使用$ db-> quote($ somevariable);