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 15 PHP
Ajax+PHP 边学边练 之二 实例
Nov 24 PHP
一步一步学习PHP(4) php 函数 补充2
Feb 15 PHP
PHP 强制性文件下载功能的函数代码(任意文件格式)
May 26 PHP
php下安装配置fckeditor编辑器的方法
Mar 02 PHP
PHP递归返回值时出现的问题解决办法
Feb 19 PHP
php网站地图生成类示例
Jan 13 PHP
php中filter函数验证、过滤用户输入的数据
Jan 13 PHP
PHP中使用SimpleXML检查XML文件结构实例
Jan 07 PHP
php编写批量生成不重复的卡号密码代码
May 14 PHP
Yii实现的多级联动下拉菜单
Jul 13 PHP
PHP中常见的密码处理方式和建议总结
Oct 14 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 线程安全与非线程安全版本的区别深入解析
2013/08/06 PHP
php使用cookie实现记住登录状态
2015/04/27 PHP
thinkphp 字母函数详解T/I/N/D/M/A/R/U
2017/04/03 PHP
php如何比较两个浮点数是否相等详解
2019/02/12 PHP
php数值计算num类简单操作示例
2020/05/15 PHP
javascript+canvas制作九宫格小程序
2014/12/28 Javascript
js实现获取鼠标当前的位置
2016/12/14 Javascript
Bootstrap模态框插入视频的实现代码
2017/06/25 Javascript
webpack+react+antd脚手架优化的方法
2018/04/02 Javascript
webpack css加载和图片加载的方法示例
2018/09/11 Javascript
PHPStorm中如何对nodejs项目进行单元测试详解
2019/02/28 NodeJs
vue使用localStorage保存登录信息 适用于移动端、PC端
2019/05/27 Javascript
使用vue打包进行云服务器上传的问题
2020/03/02 Javascript
解决vue net :ERR_CONNECTION_REFUSED报错问题
2020/08/13 Javascript
[09:40]DAC2018 4.5 SOLO赛 MidOne vs Miracle
2018/04/06 DOTA
[03:13]DOTA2-DPC中国联赛1月25日Recap集锦
2021/03/11 DOTA
python利用urllib实现爬取京东网站商品图片的爬虫实例
2017/08/24 Python
微信跳一跳小游戏python脚本
2018/01/05 Python
Python多继承顺序实例分析
2018/05/26 Python
python opencv 批量改变图片的尺寸大小的方法
2019/06/28 Python
python基础教程之while循环
2019/08/14 Python
将Pytorch模型从CPU转换成GPU的实现方法
2019/08/19 Python
python多线程实现TCP服务端
2019/09/03 Python
基于Tensorflow使用CPU而不用GPU问题的解决
2020/02/07 Python
加利福尼亚州威尼斯的女性奢侈品设计师服装和概念店:Mona Moore
2018/09/13 全球购物
营业员个人总结的自我评价
2013/10/25 职场文书
年度考核自我鉴定
2013/11/09 职场文书
幼儿园教师教学反思
2014/02/06 职场文书
竞选生活委员演讲稿
2014/04/28 职场文书
工作说明书格式
2014/07/29 职场文书
大学新生军训自我鉴定
2014/09/18 职场文书
乡镇干部党的群众路线教育实践活动个人对照检查材料
2014/09/24 职场文书
司法工作人员群众路线对照检查材料思想汇报
2014/09/30 职场文书
离婚协议书怎么写(范本参考)
2014/09/30 职场文书
工作态度检讨书范文
2015/05/06 职场文书
驳回起诉民事裁定书
2015/05/19 职场文书