【问题标题】:RowCount() = 0 error php mysqlRowCount() = 0 错误 php mysql
【发布时间】:2011-09-08 23:44:29
【问题描述】:
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 逻辑不起作用?

【问题讨论】:

    标签: php mysql rowcount


    【解决方案1】:

    = 是 PHP 中的赋值运算符。

    您基本上是在尝试将 0 分配给 $sth7->rowCount()。

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

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

    if($sth7->rowCount()) {
    
    } else {
    
    }
    

    rowCount() 返回一个整数,除 0 以外的任何整数都将强制转换为 true。

    【讨论】:

      【解决方案2】:

      尝试rowcount() == 0 与 0 进行比较,您的代码 (rowcount() = 0) 尝试分配 0。此外,在比较时将常量放在左侧可能很有用: (0 == rowcount()) 以使此类错误更容易检测。

      【讨论】:

      • 这不起作用:else($sth7-&gt;rowcount() == 0){ echo "User"; }
      • 应该是else if ($sth7-&gt;rowcount() == 0)(或者只是else
      【解决方案3】:

      else 不需要任何逻辑,它只会在关联的 if(和任何 elseifs)没有评估为 true 时运行。

      另外,= 是一个赋值运算符 - 将其读作“变为等于”

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

      == 是一个相等运算符,它测试两个表达式是否相等

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

      你可能想要

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-11-29
        • 2012-09-18
        • 1970-01-01
        相关资源
        最近更新 更多