如何运行两个查询?(Joomla,mysql)

时间:2012-09-03 07:06:35

标签: mysql joomla transactions

我希望当有人投票获取文章信息时,它会被插入到两个表格中 (或运行任何两个查询,无关紧要,插入,更新或选择)。 我正在使用Joomla! 2.5.0稳定。

components/com_content/models/article.php public function storeVote($pk = 0, $rate = 0)

执行此查询时:

$db->setQuery( 'INSERT INTO #__content_rating ( content_id, lastip, rating_sum, rating_count )' . ' VALUES ( '.(int) $pk.', '.$db->Quote($userIP).', '.(int) $rate.', 1 )'

我希望#__content表中的信息也会插入。 我如何实现这一目标? 我试过跟随,但它不起作用:

$db->setQuery( 'INSERT INTO #__content_rating ( content_id, lastip, rating_sum, rating_count )' . ' VALUES ( '.(int) $pk.', '.$db->Quote($userIP).', '.(int) $rate.', 1 )'

// 'UPDATE #__content ' . ' SET testas2 = rating_sum + '.(int) $rate . ' WHERE content_id = '.(int) $pk

// 'INSERT INTO #__content ( testas2 )' . ' VALUES (7799)' );

这是带有语法的图片: http://i49.tinypic.com/1ruux0.jpg

我读过MySQL事务,在这种情况下它会帮助我吗?如果是,那么语法应该是什么样子? 任何建议都非常感谢。

1 个答案:

答案 0 :(得分:0)

尝试直接在DB中运行以下命令(使用phpmyAdmin):

UPDATE edqfi_content_rating , edqfi_content 
SET edqfi_content_rating.rating_count = edqfi_content_rating.rating_count + 1, 
edqfi_content_rating.rating_sum = edqfi_content_rating.rating_sum + 3, 
edqfi_content_rating.lastip = '88.119.189.154',
edqfi_content.testas2=edqfi_content_rating.rating_sum + 3 
WHERE edqfi_content_rating.content_id = 13
AND edqfi_content.id= 13

并查看是否有任何错误。