从mysql中的两个不同的表中选择total,但得到不同的答案

hsgswve4  于 2021-06-25  发布在  Mysql
关注(0)|答案(1)|浏览(363)

我的代码有问题,我开始迷路了。我的代码显示了不同的结果 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) ?>
bwleehnv

bwleehnv1#

这个 mysqli_num_rows 返回返回的行数。这个 count() 函数返回一行,其中包含匹配行的计数。所以你真正需要做的是 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;
?>

相关问题