G'day,
我不熟悉MySQL,这可能是一个简单的问题!
我正在尝试修改一个Joomla插件,并正在使用这段代码,它可以很好地用于类似的功能:
$q="SELECT `".$naming."` AS naming FROM `#__users` WHERE `id`='".$jomsocial_event->creator."' ";
$db->setQuery($q);
$eventcreatorname = $db->loadResult();
$eventcreator = '<a href='"'.CRoute::_('index.php?option=com_community&view=profile&userid='.$jomsocial_event->creator).''">'.addslashes($eventcreatorname).'</a>';
我需要做的是查找表community_groups
中的字段id
并返回匹配字段name
。我有(注意$jomsocial_event->contentid
包含组ID):
$q="SELECT `".$naming."` AS naming FROM `#__community_groups` WHERE `id`='".$jomsocial_event->contentid."' ";
$db->setQuery($q);
$eventgroupname = $db->loadResult();
$eventgroup = '<a href='"'.CRoute::_('index.php?option=com_community&view=groups&task=viewgroup&groupid='.$jomsocial_event->contentid).''">'.addslashes($eventcreatorname).'</a>';
它不返回任何内容,因为查询是错误的;我的用法应该是什么?
我会从数据库向后工作。
即打开SQL日志记录并查看数据库中实际到达的内容。根据需要进行调整,使用生成的SQL,直到得到您想要的(和期望的),然后在代码中实现它。
在Joomla的调试中查看您生成的查询。直接对mysql运行它,看看哪里出了问题。
此外,我会使用JDatabaseQuery API,因为您在引用等时出错的可能性要小得多。在我看来,您将id视为字符串而不是整数。