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 获取全局变量的代码
Apr 21 PHP
PHP新手入门学习方法
May 08 PHP
PHP中实现生成静态文件的方法缓解服务器压力
Jan 07 PHP
zf框架的registry(注册表)使用示例
Mar 13 PHP
PHP去掉json字符串中的反斜杠\及去掉双引号前的反斜杠
Sep 30 PHP
php防止用户重复提交表单
Nov 02 PHP
yii2实现根据时间搜索的方法
May 25 PHP
PHP 常用时间函数资料整理
Oct 22 PHP
PHP7扩展开发之hello word实现方法详解
Jan 15 PHP
PHP实现搜索时记住状态的方法示例
May 11 PHP
tp5 实现列表数据根据状态排序
Oct 18 PHP
php实例化对象的实例方法
Nov 17 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
提问的智慧
2006/10/09 PHP
解析smarty 截取字符串函数 truncate的用法介绍
2013/06/20 PHP
php 调用百度sms来发送短信的实现示例
2018/11/02 PHP
PHP实现会员账号单唯一登录的方法分析
2019/03/07 PHP
php中的依赖注入实例详解
2019/08/14 PHP
新浪的图片新闻效果
2007/01/13 Javascript
学习ExtJS(一) 之基础前提
2009/10/07 Javascript
探讨js中的双感叹号判断
2013/11/11 Javascript
详解js中构造流程图的核心技术JsPlumb
2015/12/08 Javascript
JS实现隐藏同级元素后只显示JS文件内容的方法
2016/09/04 Javascript
浅谈js算法和流程控制
2016/12/29 Javascript
详解在vue-cli项目中使用mockjs(请求数据删除数据)
2017/10/23 Javascript
JS 仿支付宝input文本输入框放大组件的实例
2017/11/14 Javascript
JS设计模式之策略模式概念与用法分析
2018/02/05 Javascript
开发Node CLI构建微信小程序脚手架的示例
2020/03/27 Javascript
python复制文件到指定目录的实例
2018/04/27 Python
python解析含有重复key的json方法
2019/01/22 Python
解决Django中调用keras的模型出现的问题
2019/08/07 Python
Python中类似于jquery的pyquery库用法分析
2019/12/02 Python
Python异常原理及异常捕捉实现过程解析
2020/03/25 Python
Python 如何操作 SQLite 数据库
2020/08/17 Python
matplotlib之多边形选区(PolygonSelector)的使用
2021/02/24 Python
HTML5实现WebSocket协议原理浅析
2014/07/07 HTML / CSS
GOLFINO英国官网:高尔夫服装
2020/04/11 全球购物
自主实习接收函
2014/01/13 职场文书
运动会通讯稿100字
2014/01/31 职场文书
婚礼答谢宴主持词
2014/03/14 职场文书
护理专科毕业自荐信范文
2014/04/21 职场文书
新教师培训方案
2014/06/08 职场文书
教师学习党的群众路线教育实践活动心得体会
2014/10/31 职场文书
2014年路政工作总结
2014/12/10 职场文书
个人年终总结怎么写
2015/03/09 职场文书
2016年万圣节家长开放日活动总结
2016/04/05 职场文书
留学文书中的个人陈述,应该注意哪些问题?
2019/08/23 职场文书
mybatis 获取无数据的字段不显示的问题
2021/07/15 Java/Android
Kubernetes控制节点的部署
2022/04/01 Servers