我在Windows上的PHP 5.6.16,以前是使用MySQL的PDO所有查詢。我在這裏做的唯一更改是使用Microsoft SQL Server 2008而不是MySQL作爲數據庫。因此,我現在已經安裝了適當的SQLSRV驅動程序,phpinfo()看到它並很開心,並且生活一直沒有數據庫連接錯誤。PHP PDO_SQLSRV bindparam()不起作用
在嘗試使用讀取查詢加載某些頁面後,我看不到任何數據通過。我發現在我的$queryResult = $query->execute();
命令後,這個$queryResult
變量返回FALSE
。
所以我走了一步,發現我在$query
的實際查詢仍然有我準備好的變量,而沒有綁定的數據。這裏就是我綁定變量並執行:
$query->bindParam(':startDate', $startDate);
$query->bindParam(':endDate', $endDate);
$queryResult = $query->execute();
下面是$query
一個VarDump後這些:
object(PDOStatement)#16 (1) { ["queryString"]=> string(86) "SELECT * WHERE UNIX_TIMESTAMP(DATE) >= :startDate AND UNIX_TIMESTAMP(DATE) <= :endDate"}
這是我的理解是,在這裏,我看到真實的數據,全面查詢,而不是準備的變量。 MS SQL SRV在安裝或初始化期間無法完成嗎?到目前爲止,我還沒有在網絡上發現任何類似的問題。
謝謝。
有沒有'UNIX_TIMESTAMP()'函數SQL Server。看到http://stackoverflow.com/questions/8837225/unix-timestamp-in-sql-server – Barmar
@Barmar當然!非常感謝。 – Shackrock