我的代码中遇到了一个问题,我开始迷路了。我的编码显示了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) ?>
答案 0 :(得分: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;
?>