PHP調用MYSQL預存程序 不報錯的解決方案_PHP教程

來源:互聯網
上載者:User
前兩天跟同事一起開發一套庫存管理系統,我負責寫頁面程式,同事負責寫預存程序,寫程式時一切進展很順利,直到開發完成,我用PHP調用他的預存程序時問題發生了。

以後開發時需要注意以下幾點:

1、串連MYSQL資料庫時要注意後兩個參數

define('CLIENT_MULTI_RESULTS', 131072); //定義常量

$conn=mysql_connect("localhost","root","123456",1,CLIENT_MULTI_RESULTS);

$db=mysql_select_db("db01",$conn);

2、調用預存程序方法

很簡單共有兩種方法

(1)無傳回值

mysql_query("call nj_keep_accounts_sp($id)",$conn); // 預存程序名稱: nj_keep_accounts_sp 參數:$id

(2)有傳回值

$id=$_GET["id"];

$r=mysql_query("call nj_keep_accounts_sp($id)",$conn);

while($rs=@mysql_fetch_array($r)){

echo($rs["t_id"]);

}

3、如果調試的時不報錯,經常執行不穩定,一會好用一會不好用請注意

我在測試的時候發生過這種事情,發現代碼本身無錯誤,預存程序在MYSQL裡執行也沒有出錯,問題發生在哪呢?

經過兩天的測試最終發現,寫預存程序的時候調試過程中在執行開始、中間、結尾部份都加了測試傳回值。問題就發生在這裡。

我把沒用的傳回值(如:select @a)類似這種代碼全注釋之後才發現以前的問題全部解決了,程式也好用了。

摘自 newsera

http://www.bkjia.com/PHPjc/478528.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/478528.htmlTechArticle前兩天跟同事一起開發一套庫存管理系統,我負責寫頁面程式,同事負責寫預存程序,寫程式時一切進展很順利,直到開發完成,我用PHP調...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.