Php joomla中的内部连接查询

Php joomla中的内部连接查询,php,mysql,joomla,Php,Mysql,Joomla,我想在我的joomla站点中启动一个复杂的查询。我已经为它写了下面的代码 $db = JFactory::getDbo(); $query = $db->getQuery(true); $query->select('`chr`.`characteristic_id`,`chr`.`characteristic_value`,`prc`.`price_value`'); $query->from('`#___hikashop_product` AS `pdt`'); $quer

我想在我的joomla站点中启动一个复杂的查询。我已经为它写了下面的代码

$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select('`chr`.`characteristic_id`,`chr`.`characteristic_value`,`prc`.`price_value`');
$query->from('`#___hikashop_product` AS `pdt`');
$query->join('inner', '`#__hikashop_variant` AS `vari` ON `pdt`.`product_id` = `vari`.`variant_characteristic_id`');
$query->join('inner', '`#__hikashop_characteristic` AS `chr` ON `vari`.`variant_characteristic_id` = `chr`.`characteristic_id`');
$query->join('inner', '`#__hikashop_price` AS `prc` ON `pdt`.`product_id` = `prc`.`price_product_id`');
$query->where('`pdt`.`product_id` = 68');
$db->setQuery($query);
查询正在我的本地mysql中执行。
如需任何帮助,我们将不胜感激。要启动查询,您只需执行以下操作:

$rows = $db->loadAssocList(); // or loadObjectList()
上面将把所有行放入$rows中

您还可以使用以下命令触发查询,而无需抓取行:

$db->query();

要启动查询,只需执行以下操作:

$rows = $db->loadAssocList(); // or loadObjectList()
上面将把所有行放入$rows中

您还可以使用以下命令触发查询,而无需抓取行:

$db->query();
你可以试试这个

$db->setQuery("Your query");
$result = $db->query();

//if you need the count
$rowcount = $db->getNumRows();

//if the result is multiple rows
$result_array = $db->loadAssocList() or $db->loadObjectList();

//if the result is single row you can use
$result = $db->loadAssoc() or $db->loadObject();
你可以试试这个

$db->setQuery("Your query");
$result = $db->query();

//if you need the count
$rowcount = $db->getNumRows();

//if the result is multiple rows
$result_array = $db->loadAssocList() or $db->loadObjectList();

//if the result is single row you can use
$result = $db->loadAssoc() or $db->loadObject();

也许是双引号?我不知道Joomla,但是你的$query对象真的有方法select、from和where吗?或者,作为您正在构造的SQL命令的一部分,这些是否应该是其他函数的参数的一部分?您也不应该在SQL命令中嵌入变量——而是使用准备好的语句!如果你不知道为什么,或者它们是什么,请阅读。@MrCode:我不知道。。事实上,我不知道如何在joomla发起查询。如果我在mysqlI中执行这个查询,它运行得很好。我不知道Joomla有那些join/where方法,但我觉得我不喜欢它。平面SQL的可读性要差得多!也许是双引号?我不知道Joomla,但是你的$query对象真的有方法select、from和where吗?或者,作为您正在构造的SQL命令的一部分,这些是否应该是其他函数的参数的一部分?您也不应该在SQL命令中嵌入变量——而是使用准备好的语句!如果你不知道为什么,或者它们是什么,请阅读。@MrCode:我不知道。。事实上,我不知道如何在joomla发起查询。如果我在mysqlI中执行这个查询,它运行得很好。我不知道Joomla有那些join/where方法,但我觉得我不喜欢它。平面SQL的可读性要差得多!我应该如何在页面中回显查询?有什么功能吗?我的查询返回空集合。如果我在mysql上运行它,它会给我13行..尝试echo$db->getQuery打印它。同时检查echo$db->getErrorMsg;若要查看是否存在MySQL错误,我应该如何在页面中回显查询?有什么功能吗?我的查询返回空集合。如果我在mysql上运行它,它会给我13行..尝试echo$db->getQuery打印它。同时检查echo$db->getErrorMsg;查看是否存在MySQL错误。