PHP计数不计算在内

时间:2013-05-10 16:29:00

标签: php mysql

我有一些代码调用名为“fed”的表并完美地列出内容。在WHILE语句中,我然后调用另一个名为“country”的表。我希望PHP代码计算“country”中具有与“fed”表中当前行相同的fedID号的任何记录,该表还有一个名为fedID的列。

我使用此代码调用“country”表:

$countrySQL = "SELECT * FROM country WHERE country.fedID=$fedRow->fedID";       
                    $countryResult = $glob->query($countrySQL) or die(mysqli_error());
                    if($countryResult){
                        while($countryRow = $countryResult->fetch_object()){
                            if($countryRow->fedID=$fedRow->fedID) {
                                echo "(" . $countryRow->fedID . ")";
                            }
                        }
                    }

然后我得到了结果:

(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)
(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)(2)
(3)(3)(3)(3)(3)(3)(3)(3)(3)(3)(3)(3)(3)(3)(3)(3)(3)(3)(3)(3)(3)(3)

哪个与数据库匹配。但是,如果我将SQL更改为:

$countrySQL = "SELECT COUNT(*) FROM country WHERE country.fedID=$fedRow->fedID";

然后我得到一个空的结果。我希望它显示总共1 = 45,2 = 51,3 = 21。

我做错了什么?谢谢你的时间。

2 个答案:

答案 0 :(得分:4)

可能你应该有==而不是a = here:

if($countryRow->fedID=$fedRow->fedID) {

答案 1 :(得分:0)

andrewsi在这里有一点:$countryRow->fedID不再是结果的一部分,给计数结果这样的名字:

SELECT COUNT(*) AS mycount WHERE ....然后它应该以{{1​​}}提供。