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