2011-09-08 39 views
0
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邏輯工作?RowCount()= 0錯誤php mysql

回答

2

嘗試rowcount() == 0用0來比較,你的代碼(rowcount() = 0)嘗試分配0。此外,它在比較可能是把恆左側有用:(0 == rowcount())做出這樣的錯誤更容易被發現。

+0

這不起作用:'別人($ sth7->的行數()== 0){\t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t回聲 「用戶」; \t \t \t \t} – JohnPaul

+0

它竄取相同的錯誤 – JohnPaul

+0

它應該是'else if($ sth7-> rowcount()== 0)'(或者只是'else') – a1ex07

3

=是PHP中的賦值運算符。

你基本上試圖把0賦給$ sth7-> rowCount()。

也許你的意思是$ sth7-> rowCount()== 0?

另外,你真的不需要if if if。它可能只是一個if else:

if($sth7->rowCount()) { 

} else { 

} 

rowCount()返回一個整數,除0之外的任何整數都會轉換爲true。

0

else不採用任何邏輯,如果(和其他elseifs)沒有評估爲真,它就會運行。

此外,=是賦值運算符 - 它讀作 「等於」

$var = 1; // Var becomes equal to 1 

==是平等的運營商,它測試兩個表達式是否相等

$var == 1 // Var is equal to 1 

您可能想要

else if ($sth7->rowCount() == 0)               
    echo "User";