Невозможно сохранить в базе данных

Моя проблема была в том, что я не смог сохранить данные в базе данных, вот часть кода

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

-3

Решение

Я не большой поклонник того, как 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();
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]