mysql准备失败返回结果


MySQLI prepared failing return results

我已经尝试了数千个例子,但不工作,我试图获得特定行的结果,其中id=。

我的代码:
 if ($stmt = $func->mysqli->prepare("SELECT * FROM monthlypaymentsrequestlist WHERE id = ?")) { 
      $stmt->bind_param('s', $user['userid']); 
      // Execute the prepared query.
      $stmt->execute();
      $stmt->store_result();
     if($stmt->num_rows > 0) {
        while ($rows = $stmt->fetch_assoc()) {
                 echo $row['id'];
            }

      }

 }

我得到的错误:

 Fatal error: Call to undefined method mysqli_stmt::fetch_assoc() in

fetch_assoc()mysqli_result的函数,而不是您试图使用的$stmt资源。您需要将其分配给execute()的返回值:

if($stmt = $func->mysqli->prepare("SELECT * FROM monthlypaymentsrequestlist WHERE id = ?")) 
{ 
    $stmt->bind_param('s', $user['userid']); 
    // Execute the prepared query.
    $result = $stmt->execute();
    $stmt->store_result();
    if($stmt->num_rows > 0) 
    {
        while($rows = $result->fetch_assoc()) 
        {
            echo $row['id'];
        }
    }
 }

fetch_assoc是mysqli_result类的方法,而不是mysqli_stmt类的方法。