选择sum php和mysql后,给我一个错误-子查询返回多行?
我已经做了一些投票脚本,在那里用户投票向上或向下的一些答案。当我对这个问题只有一个答案时,它工作得很好。如果我对一个问题给出两个或多个答案,“我得到一个错误”子查询将返回多行 这是向上按钮,向下按钮类似。我知道有更简单的方法来实现这一切,但我对php是新手。。 以下是表格问题选择sum php和mysql后,给我一个错误-子查询返回多行?,php,mysql,subquery,vote,Php,Mysql,Subquery,Vote,我已经做了一些投票脚本,在那里用户投票向上或向下的一些答案。当我对这个问题只有一个答案时,它工作得很好。如果我对一个问题给出两个或多个答案,“我得到一个错误”子查询将返回多行 这是向上按钮,向下按钮类似。我知道有更简单的方法来实现这一切,但我对php是新手。。 以下是表格问题 CREATE TABLE IF NOT EXISTS `questions` ( `id` int(11) NOT NULL AUTO_INCREMENT, `question` text NOT NULL, `user`
CREATE TABLE IF NOT EXISTS `questions` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`question` text NOT NULL,
`user` varchar(255) NOT NULL,
`date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;
和表格答案
CREATE TABLE IF NOT EXISTS `answers` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`answer` text COLLATE utf8_unicode_ci NOT NULL,
`questionId` int(11) NOT NULL,
`user` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
)
和桌上投票
CREATE TABLE IF NOT EXISTS `vote` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`ip` varchar(50) NOT NULL,
`answerId` int(11) NOT NULL,
`up` int(11) NOT NULL,
`down` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=11 ;
问题在哪里?如何解决这个问题?谢谢 根据你的问题,我知道你想列出某个问题的所有反对票。然后,如果要将列上下更新为表答案,则查询很简单
"SELECT SUM(down) as down
FROM answers WHERE questionId = $id)"
IN将为您解决这个问题,但它不会真正触及问题的核心,我认为您应该使用IN。从投票中选择SUMdown作为down,其中answerId在从答案中选择answerId,其中questionId=$idYou需要answerId而不是questionId,对吗?如果我输入,则我得到这个“mysqli\u fetch\u数组期望参数1是mysqli\u结果,布尔值在第11行的C:\wamp\www\mysite\up.php中给出”。。。
"SELECT SUM(down) as down
FROM answers WHERE questionId = $id)"