0

我在使用 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

谢谢你。

4

2 回答 2

3

如果您使用 Joomla 数据库对象进行查询,为什么要使用 mysql 库的转义功能?你不需要。按照这个Joomla wiki 条目向您展示如何使用他们的 DBO 创建正确转义的 SQL 查询。

于 2012-07-05T20:41:55.807 回答
0

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

于 2012-07-06T12:45:51.477 回答