2012-02-02 49 views
-1

對,所以我仍然準備好了我的頭腦,每當我想,是的,我已經得到它,一個新的查詢出現,我在想嗯嗯,我會設置它?如何將此查詢更改爲準備好的語句?

所以在這裏我們去了,我有一個查詢,根據日期從數據庫中提取記錄並按日期排序。它找到的記錄是基於年份和月份值和查詢看起來是這樣的:

$getresults = mysql_query(" SELECT * FROM `results` WHERE `date` LIKE '2012-$monthid%' ORDER BY date "); 

我已經基本準備語句從我的數據庫中獲取一個用戶的記錄:

$query = "SELECT * 
      FROM results 
      WHERE date = ? 
      LIMIT 1"; 

    if($stmt = $this->conn->prepare($query)) 
    { 
     $stmt->bind_param('s', $date); 
     $stmt->execute(); 

     if($stmt->fetch()) 
     { 
      $stmt->close(); 
      return true; 
     } 
     else 
      return false; 
    } 

會如何我改變這使它更像第一個查詢?

感謝您的幫助。

回答

2

一個想法是按年份和月份在WHERE條款的不同部分進行過濾:

$query = "SELECT * FROM results WHERE YEAR(date) = 2012 AND MONTH(date) = ? ORDER BY date"; 

if ($stmt = $this->conn->prepare($query)) { 
    $stmt->bind_param('i', $monthid); 
    ... 
} 
+1

+1 - 使用'LIKE'上一個日期字段就覺得_wrong_! – Alnitak 2012-02-02 11:36:09

相關問題