2017-04-23 21 views
0

我目前有問題得到我的代碼中的行數。這裏是我的代碼:如何獲取mysql語句中的行數並返回它?

$app->get('/banana/:state', function($state) use ($app){ 
    $db = new DbOperation(); 
    $today = date("j-M-Y"); 
    if($state == "Indoor"){ 
    $result = $db->getAllbananaindoor($today); 
    $response = array(); 
    $response['messages'] = array(); 
    $row = $result->fetch_assoc(); 

    if($row > 3){ 
    $temp = array(); 
    $temp['text'] = 'Yes, you can plant banana seeds today indoors.'; 
    array_push($response['messages'],$temp); 
    } 
    else { 
    $temp = array(); 
    $temp['text'] = 'Nope. Today is not a good time to plant banana seeds indoors.'; 
    array_push($response['messages'],$temp); 
    } 
    echoResponse(200,$response); 
    } 
} 




public function getAllbananaindoor($today){ 
    $stmt = $this->con->prepare("SELECT * FROM garden WHERE humid >? AND time=? AND temp BETWEEN ? AND ?"); 
    $hum = '50'; 
    $one = '19'; 
    $two = '24'; 
    $stmt->bind_param("iiii",$hum, $today, $one, $two); 
    $stmt->execute(); 
    $students = $stmt->get_result(); 
    $stmt->close(); 
    return $students; 
} 

在此我從一個功能getAllBananaindoor(數據庫中的數據),它返回的結果,而不是我希望它返回的行數,最後檢查$行是否大於3,然後工作在那。我怎樣才能做到這一點?請幫忙。

+0

'$ stmt-> bind_param'不是PDO,而是MySQLi。 – hjpotter92

回答

0

定義了MySQLi結果對象has num_rows property

$students = $stmt->get_result(); 
return $students->num_rows; // will return the number of rows