dongyin2390 2013-06-20 12:13
浏览 19
已采纳

Mysql COUNT,不按预期计算[关闭]

I am using the following script to count records, the way I think it should be working should be.

'some heading' x4

but instead it is outputting 'some heading' 1x 1x 1x 1x

    include("connectmysqli.php"); 
    if (isset($_GET['questionnaireID'])) {$questionnaireID = $_GET['questionnaireID'];}else {$questionnaireID = '';}
    echo '<p><strong>View Questionnaire Results</strong></p>';

    $sql1 = <<<SQL
        SELECT answer1, COUNT(answer1)
        FROM `QuestionnaireAnswers`
        WHERE questionnaireID='$questionnaireID'
        GROUP BY answer1
    SQL;
    if(!$result1 = $db->query($sql1)){ die('There was an error running the query [' . $db->error . ']');}

    while($row1 = $result1->fetch_assoc()){ 

    echo $row1['COUNT(answer1)'] . ' X <strong>' . $answer1 . '</strong><br />';
    }

Here is an example of the table enter image description here

So using the above screen shot, the column answer1 when counted should be 2x , but what is actually displayed is 1x 1x

If I run the query from the answers in phpmyadmin I get :

enter image description here

  • 写回答

2条回答 默认 最新

  • dpnvrt3119 2013-06-20 12:23
    关注

    You are attempting to use a MySQL function (COUNT) in PHP. I have never seen such a usage. Use alias for count of answer1:

    $sql1 = <<<SQL
        SELECT answer1, COUNT(*) as cnt
        FROM `QuestionnaireAnswers`
        WHERE questionnaireID='$questionnaireID'
        GROUP BY questionnaireID
    SQL;
    

    Then after fetch_assoc() method use it as

     echo $row1['cnt'];
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥100 iOS开发关于快捷指令截屏后如何将截屏(或从截屏中提取出的文本)回传给本应用并打开指定页面
  • ¥15 unity连接Sqlserver
  • ¥15 图中这种约束条件lingo该怎么表示出来
  • ¥15 VSCode里的Prettier如何实现等式赋值后的对齐效果?
  • ¥15 流式socket文件传输答疑
  • ¥20 keepalive配置业务服务双机单活的方法。业务服务一定是要双机单活的方式
  • ¥50 关于多次提交POST数据后,无法获取到POST数据参数的问题
  • ¥15 win10,这种情况怎么办
  • ¥15 如何在配置使用Prettier的VSCode中通过Better Align插件来对齐等式?(相关搜索:格式化)
  • ¥100 在连接内网VPN时,如何同时保持互联网连接