我在使用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
谢谢。
答案 0 :(得分:3)
如果您使用Joomla数据库对象进行查询,为什么要使用mysql库的转义函数?你不需要。请遵循此Joomla wiki entry,其中介绍了如何使用DBO创建正确的转义SQL查询。
答案 1 :(得分:0)
改为使用$ db-> quote($ somevariable);