我使用IIS的SQLSRV驅動程序,以便我可以連接到PHP中的MS SQL服務器。奇怪的錯誤「sqlsrv_fetch_array():16是不是有效的ss_sqlsrv_stmt資源」,因爲ReturnDatesAsStrings
我已經成功地轉換了很多我原來mysql_代碼和所有進展順利,直到我試圖從數據庫中選擇一些日期時間字段。他們趕回來,在PHP Date對象而不是字符串,我發現這是增加這個到連接陣列修復:
「ReturnDatesAsStrings」 => 1
因爲這樣做,當嘗試,雖然我的代碼被打破填充我的記錄:
function row_read($recordset) {
if (!$recordset) {
die('<br><br>Invalid query :<br><br><bold>' . $this->sql . '</bold><br><br>' . sqlsrv_error());
}
$rs = sqlsrv_fetch_array($recordset);
return $rs;
}
的錯誤是:sqlsrv_fetch_array():16是不是有效的ss_sqlsrv_stmt資源
有幫助在谷歌的錯誤這樣的小金額,所以這是我唯一的機會!我只是不明白。
row_read從內而被稱爲:而($行= $ DB-> row_read($ RS)){
任何想法?
只是爲了增加更多的代碼和邏輯 - 我做我的所有訂單的簡單選擇,然後爲它遍歷他們,我做的是另2 SELECT的Orders表,然後客戶表。它倒下時,我嘗試這些額外的2「獲取」:
$this->db->sql = "SELECT * FROM TicketOrders";
$rs = $this->db->query($this->db->sql);
$this->htmlList->path("skin/search.bookings");
if ($this->db->row_count != 0) {
while ($row = $this->db->row_read($rs)) {
// Load the order row
$this->TicketOrders->get($this->db, $row['Id']);
// Load the customer row
$this->Customers->get($this->db, $row['CustomerId']);
感謝您的回答,但是當我回聲出2我的SQL的語句然後將它們粘貼回SQL Studio,它們執行得很好? 選擇ID,客戶ID,NightId,ClubName,NightName,NightDate,數量TicketType,價錢,CancelledDate,訂購日期,QuoteNumber,已完成,狀態,txn_id,EmailSent FROM TicketOrders其中id = 1086730 選擇ID,名字,姓氏, EmailAddress,訂閱從客戶那裏Id = 10068 –
@詹姆斯威爾遜:也許你可以使用'sqlsrv_errors()'得到錯誤的細節。 – xdazz
嗯,不是細節:sqlsrv_fetch_array():16是不是一個有效的ss_sqlsrv_stmt資源?我已經嘗試過在那條線之前和之後的呼應,它是空的 –