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中文本操作的类
Mar 17 PHP
兼容firefox,chrome的网页灰度效果
Aug 08 PHP
PHP简洁函数小结
Aug 12 PHP
php class中public,private,protected的区别以及实例分析
Jun 18 PHP
smarty中js的调用方法示例
Oct 27 PHP
php使用FFmpeg接口获取视频的播放时长、码率、缩略图以及创建时间
Nov 07 PHP
如何打开php的gd2库
Feb 09 PHP
php实现的错误处理封装类实例
Jun 20 PHP
Yii2.0多文件上传实例说明
Jul 24 PHP
PHP数组去重的更快实现方式分析
May 09 PHP
解决PHP使用CURL发送GET请求时传递参数的问题
Oct 11 PHP
layui数据表格自定义每页条数limit设置
Oct 26 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 include的妙用,实现路径加密
2008/07/29 PHP
php开发文档 会员收费1期
2012/08/14 PHP
php实现分页显示
2015/11/03 PHP
JS实现QQ图片一闪一闪的效果小例子
2013/07/31 Javascript
常规表格多表头查询示例
2014/02/21 Javascript
jQuery删除一个元素后淡出效果展示删除过程的方法
2015/03/18 Javascript
javascript动态添加checkbox复选框的方法
2015/12/23 Javascript
基于datepicker定义自己的angular时间组件的示例
2018/03/14 Javascript
jQuery实现下拉菜单动态添加数据点击滑出收起其他功能
2018/06/14 jQuery
Jquery的autocomplete插件用法及参数讲解
2019/03/12 jQuery
小程序实现短信登录倒计时
2019/07/12 Javascript
vue iview多张图片大图预览、缩放翻转
2019/07/13 Javascript
关于JS模块化的知识点分享
2019/10/16 Javascript
JavaScript原型式继承实现方法
2019/11/06 Javascript
利用webpack理解CommonJS和ES Modules的差异区别
2020/06/16 Javascript
Sublime开发python程序的示例代码
2018/01/24 Python
Python设计模式之策略模式实例详解
2019/01/21 Python
解决Python 使用h5py加载文件,看不到keys()的问题
2019/02/08 Python
Python机器学习算法库scikit-learn学习之决策树实现方法详解
2019/07/04 Python
pytorch 共享参数的示例
2019/08/17 Python
应用OpenCV和Python进行SIFT算法的实现详解
2019/08/21 Python
简单分析python的类变量、实例变量
2019/08/23 Python
解决python web项目意外关闭,但占用端口的问题
2019/12/17 Python
浅谈python出错时traceback的解读
2020/07/15 Python
CSS3 @font-face属性使用指南
2014/12/12 HTML / CSS
比利时买床:Beter Bed
2017/12/06 全球购物
Under Armour安德玛英国官网:美国高端运动科技品牌
2018/09/17 全球购物
美国NBA官方商店:NBA Store
2019/04/12 全球购物
学生自我鉴定范文
2013/10/04 职场文书
英文自荐信
2013/12/15 职场文书
小学优秀教育工作者事迹材料
2014/05/09 职场文书
小学德育工作经验交流材料
2014/05/22 职场文书
教师调动申请报告
2015/05/18 职场文书
详解Vue的sync修饰符
2021/05/15 Vue.js
html+css实现分层金字塔的实例
2021/06/02 HTML / CSS
SQL Server中搜索特定的对象
2022/05/25 SQL Server