我的问题是我无法将数据保存在数据库中,这是代码的一部分
$database =& JFactory::getDBO();
$sql = "UPDATE #__comp_rate SET total = total + 1, point = point + $rate_d WHERE store='".intval($_GET['id'])."'";
echo $sql;
$database->setQuery($sql);
回声的结果是:
" point = point + 4 WHERE store='170'4"
它应该是:
"UPDATE jos_com_rate SET total = total + 1, point = point + 4 WHERE store='170'"
答案 0 :(得分:0)
我不是joomla如何处理很多事情的忠实粉丝,但是他们实现了他们的查询对象,就像Zend过去那样。我不认为Joomla对直接SQL非常好,所以最好在查询构建器中使用它们的构建:
$query = $db->getQuery(true);
// Fields to update.
$fields = array(
$db->quoteName('total') . ' = ' . $db->quoteName('total') . '+1' ,
$db->quoteName('point') . ' = ' . $db->quoteName('point') . '+' . $db->quote($rate_d) ,
);
// Conditions for which records should be updated.
$conditions = array(
$db->quoteName('store') . ' = ' . $db->quote($_GET['id']),
);
$query->update($db->quoteName('#__comp_rate'))->set($fields)->where($conditions);
$db->setQuery($query);
$result = $db->query();