MySQL好像從5.0開始才引入存儲過程,反正以前做應(yīng)用的時候從沒碰過,不過現(xiàn)在因為主要作內(nèi)部系統(tǒng),所以很多應(yīng)用都用到了存儲過程,當(dāng)然前臺有時候也需要調(diào)用MySQL存儲過程,PHP的MySQL Lib好像支持的不是很好,不過我搜索了些資料,雖然不多,但是還是嘗試的使用了,現(xiàn)在介紹一下方法,以便用到的朋友不用再頭疼。
MySQL擴展也是支持存儲過程的,不過只支持無返回結(jié)果的存儲過程,如果該存儲過程存在輸出,這個調(diào)用就會拋出一個錯誤,具體錯誤忘記了。調(diào)用方式很簡單:
這個如果有返回結(jié)果,比如返回字符串,就會報錯,我現(xiàn)在找到的解決方法是使用MySQLi擴展:
這樣$rs就作為一個普通的MySQL Result來使用了,非常方便。
在調(diào)用存儲過程的時候,可能還會碰到一個問題,那就是可能會順序調(diào)用多個存儲過程,這樣同樣會報錯,解決方法就是在調(diào)用一個存儲過程并處理完成后,手動關(guān)閉MySQL鏈接,然后再次connect,再調(diào)用另一個存儲過程再處理,需要調(diào)用多少個存儲過程,就重新連接多少次。
因為我不是很了解MySQL擴展,以上純屬經(jīng)驗總結(jié)。
新聞熱點
疑難解答