echo "<h2 style='margin:0; padding:0;'>Recent Comments</h2>";
if ($sth7->rowCount()) {
while($row7 = $sth7->fetch(PDO::FETCH_ASSOC)) {
echo "<div class='comment'>{$row7['usr']} said";
}
}
else($sth7->rowCount() = 0)
echo "User";
Can't use method return value in write context
为什么rowcount()= 0逻辑不起作用?
答案 0 :(得分:3)
=是PHP中的赋值运算符。
你基本上是在尝试将0分配给$ sth7-&gt; rowCount()。
也许你的意思是$ sth7-&gt; rowCount()== 0?
另外,你真的不需要if else if。它可能只是一个if else:
if($sth7->rowCount()) {
} else {
}
rowCount()返回一个整数,除0之外的任何整数都将转换为true。
答案 1 :(得分:2)
尝试rowcount() == 0
与0进行比较,您的代码(rowcount() = 0
)会尝试分配0.此外,在比较时将常量放在左侧可能很有用:(0 == rowcount()
)使这些错误更容易被发现。
答案 2 :(得分:0)
else
没有任何逻辑,如果它(和任何其他的)没有评估为真,它就会被运行。
此外,=
是赋值运算符 - 将其读作“变得等于”
$var = 1; // Var becomes equal to 1
==
是一个相等运算符,它测试两个表达式是否相等
$var == 1 // Var is equal to 1
你可能想要
else if ($sth7->rowCount() == 0)
echo "User";