MySQL好像從5.0開始才引入預存過程,反正以前做應用的時候從來沒碰過,不過現在因為主要作內部系統,所以很多應用都用到了存儲過程,當然前台有時候也需要調用MySQL存儲過程,PHP的MySQL Lib好像支援的不是很好,不過我搜尋了些資料,雖然不多,但是還是嘗試的使用了,現在介紹一下方法,以便用到的朋友不用再頭痛。
lMySQL擴充功能也是支援預存程序的,不過只支援無回傳結果的預存程序,如果該預存程序有輸出,這個呼叫就會拋出錯誤,具體錯誤忘記了。呼叫方式很簡單:
$rs = mysql_query("call func('str')", $conn);
這個如果有回傳結果,例如回傳字串,就會報錯,我現在找到的解方法是使用MySQLi擴充:
$rs = mysqli_query("call func('str')", $conn);
這樣$rsSQL
在呼叫預存程序的時候,可能還會碰到一個問題,那就是可能會順序調用多個存儲過程,這樣同樣會報錯,解決方法就是在調用一個存儲過程並處理完成後,手動關閉MySQL鏈接,然後再次connect,再調用另一個存儲過程再處理,需要調用多少個存儲過程,就重新連接多少次。
因為我不是很了解MySQL擴展,以上純屬經驗總結,如果有哪位高手知道來龍去脈,歡迎指點。
以上就介紹了mysql 預存程序 PHP呼叫MySQL的預存程序的實作程式碼,包括了mysql 預存程序方面的內容,希望對PHP教學有興趣的朋友有幫助。