php存储过程调用实例代码


Posted in PHP onFebruary 03, 2013
//比如要调用的存储过程为gxtj(a,b) 
$db=new mysqli("localhost","ssss","aaaaa","bbbb"); 
mysqli_query($db,"SET NAMES utf8"); 
$result=$db->query("call gxtj($year,$jd)"); // gxtj是mysql的存储过程名称 [color=gray][/color] 
while( $row = $result->fetch_array(MYSQLI_ASSOC)) //完成从返回结果集中取出一行 
{ 
while ($key=key($row)){ //依次取得字段名 
$value=current($row); //依次取得字段值 
} 
}

实例一:无参的存储过程

$conn = mysql_connect('localhost','root','root') or die ("数据连接错误!!!");
mysql_select_db('test',$conn);
$sql = "
create procedure myproce()
begin
INSERT INTO user (id, username, sex) VALUES (NULL, 's', '0');
end; 
";
mysql_query($sql);//创建一个myproce的存储过程
$sql = "call test.myproce();";
mysql_query($sql);//调用myproce的存储过程,则数据库中将增加一条新记录。

实例二:传入参数的存储过程

$sql = "
create procedure myproce2(in score int)
begin
if score >= 60 then
select 'pass';
else
select 'no';
end if;
end; 
";
mysql_query($sql);//创建一个myproce2的存储过程
$sql = "call test.myproce2(70);";
mysql_query($sql);//调用myproce2的存储过程,看不到效果,可以在cmd下看到结果。

实例三:传出参数的存储过程

$sql = "
create procedure myproce3(out score int)
begin
set score=100;
end; 
";
mysql_query($sql);//创建一个myproce3的存储过程
$sql = "call test.myproce3(@score);";
mysql_query($sql);//调用myproce3的存储过程
$result = mysql_query('select @score;');
$array = mysql_fetch_array($result);
echo '<pre>';print_r($array);

实例四:传出参数的inout存储过程

$sql = "
create procedure myproce4(inout sexflag int)
begin
SELECT * FROM user WHERE sex = sexflag;
end; 
";
mysql_query($sql);//创建一个myproce4的存储过程
$sql = "set @sexflag = 1";
mysql_query($sql);//设置性别参数为1
$sql = "call test.myproce4(@sexflag);";
mysql_query($sql);//调用myproce4的存储过程,在cmd下面看效果

实例五:使用变量的存储过程

$sql = "
create procedure myproce5(in a int,in b int)
begin
declare s int default 0;
set s=a+b;
select s;
end; 
";
mysql_query($sql);//创建一个myproce5的存储过程
$sql = "call test.myproce5(4,6);";
mysql_query($sql);//调用myproce5的存储过程,在cmd下面看效果

实例六:case语法

$sql = "
create procedure myproce6(in score int)
begin
case score
when 60 then select '及格';
when 80 then select '及良好';
when 100 then select '优秀';
else select '未知分数';
end case;
end; 
";
mysql_query($sql);//创建一个myproce6的存储过程
$sql = "call test.myproce6(100);";
mysql_query($sql);//调用myproce6的存储过程,在cmd下面看效果

实例七:循环语句

$sql = "
create procedure myproce7()
begin
declare i int default 0;
declare j int default 0;
while i<10 do
set j=j+i;
set i=i+1;
end while;
select j;
end; 
";
mysql_query($sql);//创建一个myproce7的存储过程
$sql = "call test.myproce7();";
mysql_query($sql);//调用myproce7的存储过程,在cmd下面看效果

实例八:repeat语句

$sql = " 
create procedure myproce8()
begin
declare i int default 0;
declare j int default 0;
repeat
set j=j+i;
set i=i+1;
until j>=10
end repeat;
select j;
end; 
";
mysql_query($sql);//创建一个myproce8的存储过程
$sql = "call test.myproce8();";
mysql_query($sql);//调用myproce8的存储过程,在cmd下面看效果

实例九:loop语句

$sql = "
create procedure myproce9()
begin
declare i int default 0;
declare s int default 0;
loop_label:loop
set s=s+i;
set i=i+1;
if i>=5 then
leave loop_label;
end if;
end loop;
select s;
end; 
";
mysql_query($sql);//创建一个myproce9的存储过程
$sql = "call test.myproce9();";
mysql_query($sql);//调用myproce9的存储过程,在cmd下面看效果

实例十:删除存储过程

mysql_query("drop procedure if exists myproce");//删除test的存储过程
实例十:存储过程中的游标
总结中。

PHP 相关文章推荐
PHP中对数据库操作的封装
Oct 09 PHP
Base64在线编码解码实现代码 演示与下载
Jan 08 PHP
php自动获取字符串编码函数mb_detect_encoding
May 31 PHP
9个PHP开发常用功能函数小结
Jul 15 PHP
php5.2以下版本无json_decode函数的解决方法
May 25 PHP
php实现的支持断点续传的文件下载类
Sep 23 PHP
PHP图片处理之使用imagecopyresampled函数裁剪图片例子
Nov 19 PHP
PHP模块化安装教程
Jun 01 PHP
Yii2 rbac权限控制之rule教程详解
Jun 23 PHP
利用PHPExcel实现Excel文件的写入和读取
Apr 26 PHP
YII框架http缓存操作示例
Apr 29 PHP
PHP使用openssl扩展实现加解密方法示例
Feb 20 PHP
php中导出数据到excel时数字变为科学计数的解决方法
Feb 03 #PHP
php中删除字符串中最先出现某个字符的实现代码
Feb 03 #PHP
php数组去重的函数代码
Feb 03 #PHP
php中使用临时表查询数据的一个例子
Feb 03 #PHP
PHP应用JSON技巧讲解
Feb 03 #PHP
set_include_path和get_include_path使用及注意事项
Feb 02 #PHP
php代码中使用换行及(\n或\r\n和br)的应用
Feb 02 #PHP
You might like
深入讲解PHP Session及如何保持其不过期的方法
2015/08/18 PHP
Zend Framework+smarty用法实例详解
2016/03/19 PHP
php成功操作redis cluster集群的实例教程
2019/01/13 PHP
PHP的mysqli_sqlstate()函数讲解
2019/01/23 PHP
PHP中关于php.ini参数优化详解
2020/02/28 PHP
JavaScript 存在陷阱 删除某一区域所有节点
2010/05/10 Javascript
基于JQuery的日期联动实现代码
2011/02/24 Javascript
node.js中的path.extname方法使用说明
2014/12/09 Javascript
jQuery制作简洁的图片轮播效果
2015/04/03 Javascript
JavaScript实现网页加载进度条代码超简单
2015/09/21 Javascript
JavaScript实现倒计时代码段Item1(非常实用)
2015/11/03 Javascript
js判断PC端与移动端跳转
2020/12/24 Javascript
AngularJS $http模块POST请求实现
2017/04/08 Javascript
node.js利用mongoose获取mongodb数据的格式化问题详解
2017/10/06 Javascript
关于HTTP传输中gzip压缩的秘密探索分析
2018/01/12 Javascript
vue绑定的点击事件阻止冒泡的实例
2018/02/08 Javascript
Vue computed 计算属性代码实例
2020/04/22 Javascript
Python实现的数据结构与算法之队列详解
2015/04/22 Python
详解Python3中ceil()函数用法
2019/02/19 Python
Pycharm配置PyQt5环境的教程
2020/04/02 Python
Python+Opencv身份证号码区域提取及识别实现
2020/08/25 Python
python抢购软件/插件/脚本附完整源码
2021/03/04 Python
Css3新特性应用之形状总结
2016/12/08 HTML / CSS
Zipadee-Zip襁褓过渡毯:Sleeping Baby
2018/12/30 全球购物
有趣、实用和鼓舞人心的产品:Inspire Uplift
2019/11/05 全球购物
一份婚庆公司创业计划书
2014/01/11 职场文书
2013年研究生毕业感言
2014/02/06 职场文书
法院干警四风问题自我剖析材料
2014/09/29 职场文书
公司授权委托书格式样本
2014/10/01 职场文书
纪委书记群众路线整改措施思想汇报
2014/10/09 职场文书
个人欠款协议书范本2014
2014/11/02 职场文书
2015年施工员工作总结范文
2015/04/20 职场文书
获奖感言范文
2015/07/31 职场文书
2016中考冲刺决心书
2015/09/22 职场文书
PyTorch 实现L2正则化以及Dropout的操作
2021/05/27 Python
Python办公自动化之教你用Python批量识别发票并录入到Excel表格中
2021/06/26 Python