台灣最大程式設計社群網站
線上人數
609
 
會員總數:244808
討論主題:188842
歡迎您免費加入會員
討論區列表 >> PHP >> PDO設定sql_mode問題
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
PDO設定sql_mode問題
價值 : 50 QP  點閱數:438 回應數:5

樓主

迷路
高級專家
10236 134
6973 1698
發送站內信

捐贈 VP 給 迷路
由於MySQL在5.6之後有調整預設的sql_mode
導致新增、修改出現錯誤
由於主機商堅稱這個設定無法更改......Orz
所以打算在pdo宣告時調整設定
Google得到的答案是在new PDO的時候設定PDO::MYSQL_ATTR_INIT_COMMAND=>"SET sql_mode='';"
但是目前的宣告已經有宣告PDO::MYSQL_ATTR_INIT_COMMAND=>"SET NAMES 'utf8';"
如果我改成

就會得到錯誤訊息
PHP Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000]: General error: 2014 Cannot execute queries while other unbuffered queries are active. Consider using PDOStatement::fetchAll(). Alternatively, if your code is only ever going to run against mysql, you may enable query buffering by setting the PDO::MYSQL_ATTR_USE_BUFFERED_QUERY attribute.
似乎是前個指令尚未結束,就送出下個指令導致的錯誤
請問該如何修改

搜尋相關Tags的文章: [ pdo ] , [ sql_mode ] ,
本篇文章發表於2018-08-31 18:01
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
回應

小魚
檢舉此回應
我沒有這一段也是可以用啊

SET sql_mode=''

我是5.6.37版本的
本篇文章回覆於2018-09-01 07:40
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
最有價值解答

彩虹
檢舉此回應
試試看,我覺得應該是要用逗號「,」分隔,而不是結束符號「;」

本篇文章回覆於2018-09-01 11:38
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

彩虹
檢舉此回應
上面三行你分別各自測試看看, 不是全部都放進去嘿~
本篇文章回覆於2018-09-01 11:48
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
回應

小魚
檢舉此回應
這一篇 好像有在討論, 試看看吧.
本篇文章回覆於2018-09-01 16:33
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
作者回應

迷路
捐贈 VP 給 迷路 檢舉此回應
to彩虹大:第三條成功了,感謝大大

to小魚:這篇我之前有找到,但是這個做法會變成每次命令前都設定一次sql_mode,所以被我當成最後不得已的選擇
本篇文章回覆於2018-09-03 09:56
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.