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 Memcached应用实现代码
Feb 08 PHP
php iconv() : Detected an illegal character in input string
Dec 05 PHP
php下获取Discuz论坛登录用户名、用户组、用户ID等信息的实现代码
Dec 29 PHP
php使用CURL伪造IP和来源实例详解
Jan 15 PHP
PHP中配置IIS7实现基本身份验证的方法
Sep 24 PHP
php实现表单多按钮提交action的处理方法
Oct 24 PHP
深入解析PHP的Laravel框架中的event事件操作
Mar 21 PHP
Zend Framework框架路由机制代码分析
Mar 22 PHP
php自定义扩展名获取函数示例
Dec 12 PHP
详解laravel安装使用Passport(Api认证)
Jul 27 PHP
PHP基于ip2long实现IP转换整形
Dec 11 PHP
如何用Laravel包含你自己的帮助函数
May 27 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
PHP5各个版本的新功能和新特性总结
2014/03/16 PHP
PHP结合jQuery.autocomplete插件实现输入自动完成提示的功能
2015/04/27 PHP
php实现按天数、星期、月份查询的搜索框
2016/05/02 PHP
详解Yaf框架PHPUnit集成测试方法
2017/12/27 PHP
利用Dojo和JSON建立无限级AJAX动态加载的功能模块树
2007/03/24 Javascript
jQuery 1.2.x 升? 1.3.x 注意事项
2009/05/06 Javascript
stream.js 一个很小、完全独立的Javascript类库
2011/10/28 Javascript
JQUERY 实现窗口滚动搜索框停靠效果(类似滚动停靠)
2013/03/27 Javascript
Jquery中国地图热点效果-鼠标经过弹出提示层信息的简单实例
2014/02/12 Javascript
原生JS实现的多个彩色小球跟随鼠标移动动画效果示例
2018/02/01 Javascript
jQuery.validate.js表单验证插件的使用代码详解
2018/10/22 jQuery
JS监听事件的叠加和移除功能
2018/11/19 Javascript
微信小程序引入模块中wxml、wxss、js的方法示例
2019/08/09 Javascript
vue点击按钮动态创建与删除组件功能
2019/12/29 Javascript
JS实现普通轮播图特效
2020/01/01 Javascript
JS如何实现网站中PC端和手机端自动识别并跳转对应的代码
2020/01/08 Javascript
python二分法实现实例
2013/11/21 Python
python中实现php的var_dump函数功能
2015/01/21 Python
python 上下文管理器使用方法小结
2017/10/10 Python
PyTorch加载预训练模型实例(pretrained)
2020/01/17 Python
django ORM之values和annotate使用详解
2020/05/19 Python
CSS3,线性渐变(linear-gradient)的使用总结
2017/01/09 HTML / CSS
GIVENCHY纪梵希官方旗舰店:高定彩妆与贵族护肤品
2018/04/16 全球购物
英国曼彻斯特宠物用品品牌:Bunty Pet Products
2019/07/27 全球购物
企业管理部经理岗位职责
2013/12/24 职场文书
群众路线教育实践活动方案
2014/02/02 职场文书
创建学习型党组织实施方案
2014/03/29 职场文书
弘扬雷锋精神演讲稿
2014/05/10 职场文书
加油口号大全
2014/06/13 职场文书
商场父亲节活动方案
2014/08/27 职场文书
2014年“世界无车日”活动方案
2014/09/21 职场文书
秋冬农业生产标语
2014/10/09 职场文书
查摆问题整改措施范文
2014/10/11 职场文书
给病人的慰问信
2015/03/23 职场文书
留学推荐信英文范文
2015/03/26 职场文书
质量整改通知单
2015/04/21 职场文书