gmth.net
当前位置:首页 >> php如何获取mysql存储过程的多个结果集?存储过程... >>

php如何获取mysql存储过程的多个结果集?存储过程...

假设存储过程的名字是p_test() create PROCEDURE `p_test`()BEGIN select 3 as 'end'; select NOW() as 'time';END php代码

存储过程经常需要返回多个结果集。 Mysql 中直接用 select 即可返回结果集。而 oracle 则需要使用游标来返回结 果 集。这一点 Mysql 相对比较方便,如下代码即可实现输出两个结果集: CREATE PROCEDURE test_proc_multi_select() BEGIN select *...

$model = M(""); $sql = "call 存储过程名称('{$参数1}','{$参数2}',@result)"; //echo $sql; $ref = $model -> query($sql); //var_dump($ref); // 结果集视具体情况而定 $status= $ref[0]['result'];

当然要有一个链接数据库类 如class sjk $db= new sjk(); $res=$db->query("CALL test.proc_test()"); while ($arr=$res->fetch_array()) { echo $arr["Field"] .""; }

直接处理存储过程的输出参数即可。 调用存储过程的方法。 a。如果存储过程有 IN/INOUT参数,声明一个变量,输入参数给存储过程,该变量是一对, 一个php变量(也可以不必,只是没有php变量时,没有办法进行动态输入),一个Mysql 变量。 b。如果...

假设A表有3个字段,ID, DATA1,DATA2 简单的话可以不使用存储过程,比如: select * form A where ID in (select ID from A where DATA1 between 0 and 100) 如果你的应用比较复杂,在嵌套中还有复杂的运算,存储过程可以如下例子: CREATE PROCE...

如果字段相同, 可以直接用 UNION ALL 合并 select a, b,c from tableA where 条件A union all select a,b,c from tableA where 条件B union all ......

$result=$db-query("call gxtj($year,$jd)"); // gxtj是mysql的存储过程名称while( $row = $result-fetch_array(MYSQLI_ASSOC)) //完成从返回结果集中取出一行{while ($key=key($row)){ //依次取得字段名$value=current($row); //依次取得字段值}}

从存储过程返回表类型的值也有二种: 1.存储过程使用浮标参数,即同时指定CURSOR VARYING OUTPUT项.调用者可以使用while及fetch循环遍历该浮标. 2.直接将存储过程返回的结果集插入到表中,即使用insert into 表名 exec 存储过程.此种方式中注意存储...

以下只是个例子 CREATE procedure test @n1 char(10), @n2 char(10), @n3 char(10), @n4 char(10), @n5 char(10), @n6 char(10), @n7 char(10), @n8 datetime, @n9 datetime, @n10 int as select * --------这部分请将传入的参数带入查询的条件...

网站首页 | 网站地图
All rights reserved Powered by www.gmth.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com