2013-02-14 37 views
0

如何將日期傳遞到PHP和MS SQL的佔位符?日期的PHP MS SQL佔位符

我使用的示例代碼:

$fromDate = '2013-01-01'; 
$toDate = '2013-02-28'; 
$empno = 12345; 

$sqlStr = "SELECT * FROM histTable WHERE EmpNum = ? 
      AND toDate >= ? AND fromDate <= ?"; 

$sqlResult = $this->db->query($sqlStr, $empno, $fromDate, $toDate); 

我無法從數據庫,除非我硬編碼的日期值得到任何東西。

任何人都可以請幫忙嗎?

謝謝。

+0

即時猜測你的MySQL有列作爲數據類型或時間戳和你傳遞一個字符串 – 2013-02-14 12:07:45

+0

http://stackoverflow.com/questions/10435109/sql-query-escaping-codeigniter – tomexsans 2013-02-14 12:12:19

回答

0

嘗試......

$fromDate = '2013-01-01 00:00:00'; 
$toDate = '2013-02-28 00:00:00'; 
$empno = 12345; 

$sqlStr = "SELECT * FROM histTable WHERE EmpNum = $empno 
      AND toDate >= '$fromDate' AND fromDate <= '$toDate'"; 

$sqlResult = $this->db->query($sqlStr); 
+0

希望我可以但我必須使用佔位符。 – Jamie 2013-02-14 12:56:20

0

直把我的頭頂部,嘗試改變:

$sqlStr = "SELECT * FROM histTable WHERE EmpNum = ? AND toDate >= ? AND fromDate <= ?"; 

$sqlStr = "SELECT * FROM histTable WHERE EmpNum = ? AND toDate >= '?' AND fromDate <= '?'"; 
0

所有在 '' 或「 「我寧願用」「;

$fromDate = '2013-01-01'; 
$toDate = '2013-02-28'; 
$empno = 12345; 

$sqlStr = "SELECT * FROM histTable WHERE EmpNum = ? 
     AND toDate >= '{$fromDate}' AND fromDate <= '{$toDate}' "; 

$sqlResult = $this->db->query($sqlStr, $empno, $fromDate, $toDate); 

介意圍繞變量的逗號。