PHP調(diào)用MySQL的存儲(chǔ)過程的實(shí)現(xiàn)代碼
更新時(shí)間:2008年08月12日 12:57:28 作者:
MySQL好像從5.0開始才引入存儲(chǔ)過程,反正以前做應(yīng)用的時(shí)候從沒碰過,不過現(xiàn)在因?yàn)橹饕鲀?nèi)部系統(tǒng)
MySQL好像從5.0開始才引入存儲(chǔ)過程,反正以前做應(yīng)用的時(shí)候從沒碰過,不過現(xiàn)在因?yàn)橹饕鲀?nèi)部系統(tǒng),所以很多應(yīng)用都用到了存儲(chǔ)過程,當(dāng)然前臺(tái)有時(shí)候也需要調(diào)用MySQL存儲(chǔ)過程,PHP的MySQL Lib好像支持的不是很好,不過我搜索了些資料,雖然不多,但是還是嘗試的使用了,現(xiàn)在介紹一下方法,以便用到的朋友不用再頭疼。
lMySQL擴(kuò)展也是支持存儲(chǔ)過程的,不過只支持無返回結(jié)果的存儲(chǔ)過程,如果該存儲(chǔ)過程存在輸出,這個(gè)調(diào)用就會(huì)拋出一個(gè)錯(cuò)誤,具體錯(cuò)誤忘記了。調(diào)用方式很簡單:
$rs = mysql_query("call func('str')", $conn);
這個(gè)如果有返回結(jié)果,比如返回字符串,就會(huì)報(bào)錯(cuò),我現(xiàn)在找到的解決方法是使用MySQLi擴(kuò)展:
$rs = mysqli_query("call func('str')", $conn);
這樣$rs就作為一個(gè)普通的MySQL Result來使用了,非常方便。
在調(diào)用存儲(chǔ)過程的時(shí)候,可能還會(huì)碰到一個(gè)問題,那就是可能會(huì)順序調(diào)用多個(gè)存儲(chǔ)過程,這樣同樣會(huì)報(bào)錯(cuò),解決方法就是在調(diào)用一個(gè)存儲(chǔ)過程并處理完成后,手動(dòng)關(guān)閉MySQL鏈接,然后再次connect,再調(diào)用另一個(gè)存儲(chǔ)過程再處理,需要調(diào)用多少個(gè)存儲(chǔ)過程,就重新連接多少次。
因?yàn)槲也皇呛芰私釳ySQL擴(kuò)展,以上純屬經(jīng)驗(yàn)總結(jié),如果有哪位高手知道來龍去脈,歡迎指點(diǎn)。
lMySQL擴(kuò)展也是支持存儲(chǔ)過程的,不過只支持無返回結(jié)果的存儲(chǔ)過程,如果該存儲(chǔ)過程存在輸出,這個(gè)調(diào)用就會(huì)拋出一個(gè)錯(cuò)誤,具體錯(cuò)誤忘記了。調(diào)用方式很簡單:
$rs = mysql_query("call func('str')", $conn);
這個(gè)如果有返回結(jié)果,比如返回字符串,就會(huì)報(bào)錯(cuò),我現(xiàn)在找到的解決方法是使用MySQLi擴(kuò)展:
$rs = mysqli_query("call func('str')", $conn);
這樣$rs就作為一個(gè)普通的MySQL Result來使用了,非常方便。
在調(diào)用存儲(chǔ)過程的時(shí)候,可能還會(huì)碰到一個(gè)問題,那就是可能會(huì)順序調(diào)用多個(gè)存儲(chǔ)過程,這樣同樣會(huì)報(bào)錯(cuò),解決方法就是在調(diào)用一個(gè)存儲(chǔ)過程并處理完成后,手動(dòng)關(guān)閉MySQL鏈接,然后再次connect,再調(diào)用另一個(gè)存儲(chǔ)過程再處理,需要調(diào)用多少個(gè)存儲(chǔ)過程,就重新連接多少次。
因?yàn)槲也皇呛芰私釳ySQL擴(kuò)展,以上純屬經(jīng)驗(yàn)總結(jié),如果有哪位高手知道來龍去脈,歡迎指點(diǎn)。
您可能感興趣的文章:
- PHP的PDO預(yù)處理語句與存儲(chǔ)過程
- PHP基于PDO調(diào)用sqlserver存儲(chǔ)過程通用方法【基于Yii框架】
- PHP使用PDO調(diào)用mssql存儲(chǔ)過程的方法示例
- 基于Php mysql存儲(chǔ)過程的詳解
- PHP調(diào)用MySQL存儲(chǔ)過程并返回值的方法
- php調(diào)用mysql存儲(chǔ)過程
- php調(diào)用mysql存儲(chǔ)過程實(shí)例分析
- php調(diào)用MySQL存儲(chǔ)過程的方法集合(推薦)
- PHP5中使用PDO連接數(shù)據(jù)庫的方法
- php中mysql連接方式PDO使用詳解
- PHP實(shí)現(xiàn)PDO操作mysql存儲(chǔ)過程示例
相關(guān)文章
PHP實(shí)現(xiàn)隨機(jī)發(fā)撲克牌
這篇文章主要為大家詳細(xì)介紹了PHP實(shí)現(xiàn)隨機(jī)發(fā)撲克牌,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-04-04PHP中Socket連接及讀寫數(shù)據(jù)超時(shí)問題分析
這篇文章主要介紹了PHP中Socket連接及讀寫數(shù)據(jù)超時(shí)問題,分析了Socket連接的相關(guān)設(shè)置與使用技巧,需要的朋友可以參考下2016-07-07PHP開發(fā)的文字水印,縮略圖,圖片水印實(shí)現(xiàn)類與用法示例
這篇文章主要介紹了PHP開發(fā)的文字水印,縮略圖,圖片水印實(shí)現(xiàn)類與用法,結(jié)合完整實(shí)例形式分析了php文字水印、縮略圖操作類定義與簡單使用方法,需要的朋友可以參考下2019-04-04php字符串截取函數(shù)mb_substr用法實(shí)例分析
這篇文章主要介紹了php字符串截取函數(shù)mb_substr用法,結(jié)合實(shí)例形式分析了php使用mb_substr針對(duì)中文字符串截取與編碼控制相關(guān)操作技巧,需要的朋友可以參考下2019-06-06PHP實(shí)現(xiàn)RabbitMQ消息列隊(duì)的示例代碼
眾所周知,php本身的運(yùn)行效率存在一定的缺陷,所以如果有一個(gè)很復(fù)雜很耗時(shí)的業(yè)務(wù)時(shí),必須開發(fā)一個(gè)常駐內(nèi)存的程序。本文將利用PHP實(shí)現(xiàn)RabbitMQ消息列隊(duì),感興趣的可以了解一下2022-05-05