php呼叫mysql儲存過程返回結果集的處理

2021-08-30 17:08:54 字數 2235 閱讀 8278

php呼叫mysql儲存過程返回結果集的處理

最近開發乙個專案,用到這個,記一下:

關鍵就是兩點

1define('

client_multi_results',

131072);2

3$link

=mysql_connect("

127.0.0.1",

"root",

"",1,

client_multi_results) or 

die(

"could not connect: ".

mysql_error

());

下面就可以正常使用了,以下是例子程式。

1<?

php2

define('

client_multi_results',

131072);3

4$link

=mysql_connect("

127.0.0.1",

"root",

"",1,

client_multi_results) or 

die(

"could not connect: ".

mysql_error

());

5mysql_select_db("

vs") or 

die(

"could not select database");

6?>78

<?

php9

$result

=mysql_query("

call get_news_from_class_id(2)

") or 

die(

"query failed:".

mysql_error

());

10while

($row

=mysql_fetch_array

($result

,mysql_assoc))

1118

mysql_free_result

($result

);19

?>

2021

<?

php22

mysql_close

($link

);23

?>

另外說個事,因為最近用的是fleaphp這個框架進行開發的.設定了dsn的options發現沒有作用,debug了一下發現問題出在flea::parsedsn函式中,**如下:

1function

parsedsn(

$dsn)2

{3if(

is_array

($dsn

)) {

4$dsn['

host'] 

=isset

($dsn['

host

']) 

?$dsn['

host'] 

:'';5

$dsn['

port'] 

=isset

($dsn['

port

']) 

?$dsn['

port'] 

:'';6

$dsn['

login'] 

=isset

($dsn['

login

']) 

?$dsn['

login'] 

:'';7

$dsn['

password'] 

=isset

($dsn['

password

']) 

?$dsn['

password'] 

:'';8

$dsn['

database'] 

=isset

($dsn['

database

']) 

?$dsn['

database'] 

:'';9

$dsn['

options'] 

=isset

($dsn['

options

']) 

?serialize

($dsn['

options

']) :''

; 這裡多加了個serialize,不知道是開發人員手誤還是咋的.

mybatis呼叫Oracle儲存過程返回結果集

在開發中,有時需要關聯幾張表來進行一些複雜的計算,此時可採用建立一張臨時表,將每次的資料計算後先存入臨時表,然後通過oracle的游標返回。在mybatis中的呼叫如下 呼叫語法格式,需要構造乙個resultmap,用來接收返回的結果集 在service層呼叫如下 在service層呼叫,out v...

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...