【问题标题】:num_rows not working in php/mysqlinum_rows 在 php/mysqli 中不起作用
【发布时间】:2016-08-27 14:37:05
【问题描述】:
  1. 我正在尝试像这样一一获取特定的行:

    while($getRowCount = $query->fetch_assoc()){
    
    $uid = $getRowCount['ID'];
    
  2. 接下来,我在第二个表中选择与此对应的行,如下所示:

    $getFullName = $db->prepare("SELECT * from registered_users where id = ?");
    $getFullName->bind_param("i",$uid);
    $getFullName->execute();
    if(($getFullName = $getFullName->num_rows) == 1){
        echo 'code reach';
        $getname = $getFullName->fetch_assoc();
        $FirstName = $getname['first_name'];
        $LastName = $getname['last_name'];
        echo '
          <br/>   
          <div id ="connect" style="font-weight:bold; font-size: 15px; color: #CF0B05;">
          <strong>'.$FirstName.' '.$LastName.'</strong>
          </div><hr/>';                                
     }
    
     }
    

问题是 num_rows == 1 不返回 true,尽管该行的表中有匹配项。

另外,如果我强制计算为 num_rows == 0,它会回显“代码范围”,但会附加一些错误。我不明白为什么 num_rows == 1 没有返回 true,尽管有一行。

 Notice: Trying to get property of non-object in /var/www/html/pages.php on line 634

 Fatal error: Call to a member function fetch_assoc() on integer in /var/www/html/pages.php on line 635

任何有关如何解决此问题的建议都会有很大帮助。

【问题讨论】:

    标签: php mysql mysqli


    【解决方案1】:

    看你的表情:($getFullName = $getFullName-&gt;num_rows) == 1

    您首先将$getFullName 设置为等于行数(整数),然后查看它是否等于1。然后您稍后尝试将$getFullName 作为对象访问:

    $getname = $getFullName->fetch_assoc();
    

    所以你当然会得到错误:

     Fatal error: Call to a member function fetch_assoc() on integer in /var/www/html/pages.php on line 635
    

    为什么将$getFullName 设置为等于行数?这是一个了解每一行代码实际作用的简单案例。

    【讨论】:

    • 啊,快,我刚刚意识到我没有使用 $getPostFullName = $getPostFullName->get_result();在评估之前。它现在工作正常。另外,是的,我想我写错了 $getFullName = $getFullName->num_rows) == 1。已更改感谢您指出正确的方向。 :)
    【解决方案2】:

    替换你的 if 条件

    if(($getFullName = $getFullName->num_rows) == 1)
    

    if((getFullName = mysqli_num_rows($getFullName)) == 1)
    

    有关mysqli_num_rows函数的更多信息,您可以访问click here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-03-06
      • 2011-09-26
      • 2017-10-20
      • 2012-10-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多