MySQL-简单搜索ID和返回名称


MySQL - Simple search for ID and return name

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视为字符串而不是整数。