php呼叫mysql儲存過程返回結果集的處理
web2.0
root 2008-10-22 14:14
閱讀(9056)
web2.0 |
引用(0) |
閱讀(9056)
查詢當前資料庫有哪些儲存過程:
mysql>show procedure status where db='test'
建立乙個簡單的儲存過程
mysql>create procedure hi() select 'hello';
5 儲存過程建立完畢,看怎麼呼叫它
mysql>call hi();
顯示結果
mysql> call hi();
+-------+
| hello |
+-------+
| hello |
+-------+
1 row in set (0.00 sec)
query ok, 0 rows affected (0.01 sec)
刪除儲存過程:
drop procedure hi;
儲存過程例項:
delimiter ||
create procedure showdb( v_offset int, v_pagesize int )
begin
set @stmt = concat("select * from `comment` order by id desc limit ",v_offset,",",v_pagesize);
prepare s1 from @stmt;
execute s1;
deallocate prepare s1;
end||
delimiter ;
php呼叫儲存過程:
返回單個資料:
1.1:建立mysql儲存過程:
delimiter $$
drop procedure if exists `test`.`proc_test` $$
create procedure `test`.`proc_test` (out a int)
begin
select count(*) into a from tblname;
end $$
delimiter ;
1.2:php呼叫:
$db->query("call test.proc_test(@a)");
$res = $db->query("select @a");
$row = $res->fetch_array();
echo $row['@a'];
返回多個資料:
2.1:建立mysql儲存過程:
delimiter $$
drop procedure if exists `test`.`proc_test` $$
create procedure `test`.`proc_test` ()
begin
select * from tbl_name;
end $$
delimiter ;
2.2:php呼叫:
$res=$db->query("call test.proc_test()");
while ($arr=$res->fetch_array())
p.s.:以上**執行通過環境 php 5.x.x + mysql 5.x.x
1 define('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 <?php
2 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());
5 mysql_select_db("vs") or die("could not select database");
6 ?>
7 8 <?php
9 $result = mysql_query("call get_news_from_class_id(2)") or die("query failed:" .mysql_error());
10 while($row = mysql_fetch_array($result, mysql_assoc))
11
18 mysql_free_result($result);
19 ?>
20 21 <?php
22 mysql_close($link);
23 ?>
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...