|
今天在處理bug的時候發(fā)現(xiàn)某一個很奇怪的問題,在執(zhí)行某類操作的時候會報:Invalid parameter number: no parameters were bound,但是該問題在本地或是測試機上測試都沒有重現(xiàn),猜想是否和版本有關,于是就google了下,發(fā)現(xiàn)http://forum.typecho.org/topic.php?id=1501 該文的二樓說道,該問題是版本的bug,在php5.2.9以下的pdo中會出現(xiàn)。于是就是找了團隊中另外一位同時的機子(5.2.6)做測試,果然重現(xiàn)該問題,他的服務器上5.2.17上測試,該問題沒有出現(xiàn)。
在調(diào)試的時候,發(fā)現(xiàn)出現(xiàn)該類操作的時候有如下業(yè)務報以上錯誤:
用PDO往表nw_log(表字段一些列uid之類的,及content字段)中插入一條數(shù)據(jù),其中content字段的內(nèi)容為<a >test</a>,并且在入庫之前表字段的內(nèi)容會調(diào)用PDO->quote方法進行轉(zhuǎn)義。在php5.2.6機子上則報如上錯誤,但是在5.2.17機子上表現(xiàn)正常。
當我僅僅只是將內(nèi)容修改為http://a.xxx/?tid=1的時候,在5.2.6機子上和5.2.17機子上均表現(xiàn)正常,于是再次將內(nèi)容格式調(diào)試為<a >test</a>,則5.2.6及5.2.17上均表現(xiàn)正常,看來是單引號惹的禍。
php技術:PDO版本問題 Invalid parameter number: no parameters were bound,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。