2015-10-07 72 views
0

我有一個訪問數據庫的函數,根據收件人的UserID獲取消息。get_result() - >即使認爲num行數爲2,fetch_assoc()也會返回0

function GetUnreadMessages($recipientID, $db) { 
    $sql = 'SELECT 
       senderID AND headline AND message 
      FROM 
       Message 
      WHERE 
       recipientID = ? AND unread = 1 
      LIMIT 100'; 
    $stmt = $db->prepare($sql); 
    if ($stmt) { 
    $stmt->bind_param('i', $recipientID); 
    $stmt->execute(); 
    return $stmt->get_result(); 
    } 
    else { 
    http_redirect("", array(
    section => "info", 
    message => "Internal error while recieving messages!" 
    )); 
    } 
} 

然後我打電話給這個。 $messageCount應該是2,因爲我的testuser有兩條消息。

$messages = GetUnreadMessages($userID, $db); 
$messageCount = $messages->num_rows; // 2 

但是當我打電話給$messages總是0.任何想法爲什麼?

$message = $messages->fetch_array(MYSQL_ASSOC); // 0 

回答

2

這給你的邏輯值作爲一個結果和:你要這個

select senderID AND headline AND message 

select senderID, headline, message 
2

您與,AND分離領域。

SELECT senderID, headline, message 
相關問題