PHP呼叫MYSQL儲存過程 不報錯的解決方法

2021-06-01 22:30:50 字數 828 閱讀 3704

前兩天跟同事一起開發一套庫存管理系統,我負責寫頁面程式,同事負責寫儲存過程,寫程式時一切進展很順利,直到開發完成,我用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))

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

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

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

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

php呼叫mysql 儲存過程

php可以通過查詢語句 call procedurename 來呼叫mysql的儲存過程。但不能使用mysql 相關函式得用mysqli 相關函式。建立儲存過程 use test create procedure sta select from ta connstr mysqli connect l...

用 PHP 呼叫 MySQL 儲存過程

mysql 5.0 以上支援儲存過程。php 5.0 以上的 mysqli 系列函式可以支援操作 mysql 的儲存過程。以下是一些簡單的儲存過程和用 php 呼叫的示例。一 返回單個資料 1 2 header content type text html charset utf 8 3 4 hos...

用 PHP 呼叫 MySQL 儲存過程

mysql 5.0 以上支援儲存過程。php 5.0 以上的 mysqli 系列函式可以支援操作 mysql 的儲存過程。以下是一些簡單的儲存過程和用 php 呼叫的示例。一 返回單個資料 1 host localhost 5 user root 6 password mypassword 7 db...