PHP調用MySQL的預存程序的實現代碼

來源:互聯網
上載者:User

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.