程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PDO版本問題 Invalid parameter number: no parameters were bound

PDO版本問題 Invalid parameter number: no parameters were bound

編輯:關於PHP編程

今天在處理bug的時候發現某一個很奇怪的問題,在執行某類操作的時候會報:Invalid parameter number: no parameters were bound,但是該問題在本地或是測試機上測試都沒有重現,猜想是否和版本有關,於是就google了下,發現http://forum.typecho.org/topic.php?id=1501 該文的二樓說道,該問題是版本的bug,在php5.2.9以下的pdo中會出現。於是就是找了團隊中另外一位同時的機子(5.2.6)做測試,果然重現該問題,他的服務器上5.2.17上測試,該問題沒有出現。

在調試的時候,發現出現該類操作的時候有如下業務報以上錯誤:

用PDO往表nw_log(表字段一些列uid之類的,及content字段)中插入一條數據,其中content字段的內容為<a href='http://a.xxx/?tid=1'>test</a>,並且在入庫之前表字段的內容會調用PDO->quote方法進行轉義。在php5.2.6機子上則報如上錯誤,但是在5.2.17機子上表現正常。

當我僅僅只是將內容修改為http://a.xxx/?tid=1的時候,在5.2.6機子上和5.2.17機子上均表現正常,於是再次將內容格式調試為<a href="http://a.xxx/?tid=1">test</a>,則5.2.6及5.2.17上均表現正常,看來是單引號惹的禍。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved