我有一些代码调用名为“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。
我做错了什么?谢谢你的时间。
答案 0 :(得分:4)
可能你应该有==而不是a = here:
if($countryRow->fedID=$fedRow->fedID) {
答案 1 :(得分:0)
andrewsi在这里有一点:$countryRow->fedID
不再是结果的一部分,给计数结果这样的名字:
SELECT COUNT(*) AS mycount WHERE ....
然后它应该以{{1}}提供。