看板 PHP 關於我們 聯絡資訊
A:local工作+測試 IIS + PHP(HTTP), nodejs express(HTTPS,RTC測試) B:PHP主要執行位置 IIS + PHP + MSSQL(HTTPS,DB測試用,PHP就A的版本) C:主要的DB位置(DB結構跟B相同) IIS + MSSQL D:IIS, nodejs express(HTTPS,RTC主跑) B,C,D都server 2008 R2 (amz的EC2), B,C的SQLServer是2008 R2 A(PHP執行)→直接處理B(DB) OK A(PHP執行)→直接處理C(DB) OK A(PHP執行)→A(RTC,ajax處理通話記錄)→B(PHP,處理B(DB)) response ok A(PHP執行)→D(RTC,ajax處理通話記錄)→B(PHP,處理B(DB)) response ok A(PHP執行)→A(RTC,ajax處理通話記錄)→B(PHP,處理C(DB)) xhr.status 500 A(PHP執行)→D(RTC,ajax處理通話記錄)→B(PHP,處理C(DB)) xhr.status 500 B(PHP執行)→直接處理B(DB) OK B(PHP執行)→直接處理C(DB) OK B(PHP執行)→D(RTC,ajax處理通話記錄)→B(PHP,處理B(DB)) response ok B(PHP執行)→D(RTC,ajax處理通話記錄)→B(PHP,處理C(DB)) xhr.status 500 C發生問題的DB動作: 動作1 取主檔表a中的資料 (ok) 動作2 於表b新增記錄 (未寫入) 動作3 response 動作2新增記錄的key值 (自然找不到) 動作2: $sql = "INSERT INTO 表b (a,b,c...) VALUES (?,?,?...)"; $stmt = $dbt->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY, PDO::SQLSRV_ATTR_QUERY_TIMEOUT => 1)); $stmt->execute(array($值1,$值2,$值3...)); 連DB是透過sqlsrv擴展,切換B,C不同DB是換掉連線設定檔中的server,user,pass變數 Access-Control-Allow-Origin有設(B,來自A或D的request),且動作1是OK的 檢查B,C兩台DB表b的結構,都相同(檢查N^遍) 請教大家有可能是哪部份問題? ps.寫好幾個處理,從第6個開始就覺得"處理"兩字怪怪的,好像有寫錯XD -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 119.81.230.159 ※ 文章網址: https://www.ptt.cc/bbs/PHP/M.1486205960.A.31A.html ※ 編輯: lhsieh (119.81.230.159), 02/04/2017 20:44:30
iFEELing: 500 啊你的錯誤訊息咧? 02/05 02:16
lhsieh: PHP Fatal error: Call to a member function execute() 02/05 06:02
lhsieh: on a non-object in .... 動作3的部份 02/05 06:05
lhsieh: 進DB檢查,動作2就沒work 02/05 06:06
lhsieh: 把500改一下,會誤解 02/05 06:22
※ 編輯: lhsieh (119.81.43.231), 02/05/2017 07:52:50
lhsieh: 找到問題了 C表b的欄位start_tutor(o) start_turor(x) 02/05 09:55
lhsieh: 密集檢查N^遍真的無益,煮個早餐看新聞再回頭比較有益 02/05 09:57
lhsieh: 都是螢幕字太小的問題 打擾了 02/05 09:59