[請益] 遇到一個棘手的問題(資料型態遺失)
前陣子將PHP改用版本5.3.4
發現SQL 2005不能連
因為php_mssql.dll不能使用 => 爬文改用 微軟官方提供的 sqlsrv
安裝完成後 整個程式原本呼叫mssql的部分都修改為sqlsrv完畢
檢查原本程式是否恢復"正常"時
發現一直有錯誤
sqlsrv_fetch_array(): 13 is not a valid ss_sqlsrv_stmt resource
大概的寫法是
function A($sql)
{
//以上略..
$get = sqlsrv_query($conn,$sql, array(),
array("Scrollable" =>SQLSRV_CURSOR_STATIC));
echo "A:".gettype($get); //檢測資料型態
return $get;
}
function B()
{
$sql = '...';
$getA = A($sql);
echo "B".gettype($getA); //檢測資料型態
$row_getA = sqlsrv_fetch_array($getA, SQLSRV_FETCH_ASSOC);
}
在黃色的行數(最後一行)出現錯誤的!
找到的原因是A印出來的資料型態為resource
B印出的資料型態為unknown type
嘗試用settype強制將$getA轉為resource會出錯
從B先產生$getA用傳址呼叫的方式丟到A,指定為$get再從B印出來也是unknown
只要離開function A() 好像就掛掉了(我也要掛掉了~~阿~~~)
整個網站都是用A()先搜尋 而B的寫法分散整個網站的class中
有人知道如何讓return後保留resource資料型態嗎?
或者該怎麼挽救這悽慘的局面
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 203.67.240.99
※ 編輯: maplenote 來自: 203.67.240.99 (02/17 21:11)
推
02/17 23:39, , 1F
02/17 23:39, 1F
→
02/18 09:08, , 2F
02/18 09:08, 2F
→
02/18 09:12, , 3F
02/18 09:12, 3F
→
02/18 09:43, , 4F
02/18 09:43, 4F
PHP 近期熱門文章
PTT數位生活區 即時熱門文章
4
11