【问题标题】:SELECT total from two different table in mysql but getting different answer从mysql中的两个不同表中选择总计但得到不同的答案
【发布时间】:2018-09-23 07:53:11
【问题描述】:

我的代码出现问题,我开始迷路了。我的编码在MySQL and website display 中显示了不同的结果。

这是我的代码,我在MySQL database, 中查询它,它获取total of student + employer = 1341。但是当我用 PHP 编写时,它在网站上显示的总数为 1。为什么会这样?有关信息,下面的两个代码都是 MySQL 中的函数,但在网站上没有显示正确的数量。

我错过了什么吗?我还在学习正确的查询方式。

第一个代码:

<?php
session_start();
$conn = new mysqli ('localhost', 'root', '', 'dashboard');

$stddboard = $conn ->query ("SELECT (SELECT COUNT(*) FROM student) + (SELECT 
COUNT(*) FROM employer) FROM dual");
$totstddboard = mysqli_num_rows($stddboard);
?>

<?php echo mysqli_num_rows($stddboard) ?>

第二个代码:

<?php
session_start();
$conn = new mysqli ('localhost', 'root', '', 'dashboard');

$stddboard = $conn ->query ("SELECT  ( (SELECT COUNT(*) FROM student) + 
      (SELECT COUNT(*) FROM employer) 
     ) AS 'Column' ");
$totstddboard = mysqli_num_rows($stddboard);
?>

<?php echo mysqli_num_rows($stddboard) ?>

【问题讨论】:

    标签: php mysql database mysqli rows


    【解决方案1】:

    mysqli_num_rows 返回返回的行数。 count() 函数返回 1 行,其中包含匹配行的计数。所以你真正需要做的是fetch 你的结果对象。对于代码块 1,您将使用:

    <?php
    session_start();
    $conn = new mysqli ('localhost', 'root', '', 'dashboard');
    
    $stddboard = $conn ->query ("SELECT (SELECT COUNT(*) FROM student) + (SELECT 
    COUNT(*) FROM employer) as da_count FROM dual");
    $row = $result->fetch_array(MYSQLI_ASSOC);
    $totstddboard = $row['da_count'];
    echo $totstddboard;
    ?>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-05-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多