无法保存在数据库中

时间:2014-09-26 13:03:13

标签: php joomla1.5

我的问题是我无法将数据保存在数据库中,这是代码的一部分

$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'"

1 个答案:

答案 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();