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 相关文章推荐
动态生成gif格式的图像要注意?
Oct 09 PHP
第五节--克隆
Nov 16 PHP
PHP初学入门
Nov 19 PHP
thinkphp数据查询和遍历数组实例
Nov 28 PHP
Yii实现自动加载类地图的方法
Apr 01 PHP
PHP定时执行任务的3种方法详解
Dec 21 PHP
PHP魔术方法之__call与__callStatic使用方法
Jul 23 PHP
PHP+原生态ajax实现的省市联动功能详解
Aug 15 PHP
Laravel Intervention/image图片处理扩展包的安装、使用与可能遇到的坑详解
Nov 14 PHP
php单元测试phpunit入门实例教程
Nov 17 PHP
php使用curl伪造来源ip和refer的方法示例
May 08 PHP
Laravel 修改验证异常的响应格式实例代码详解
May 25 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/06/06 PHP
Zend Framework框架中实现Ajax的方法示例
2017/06/27 PHP
详解php反序列化
2020/06/10 PHP
Javascript 获取LI里的内容
2008/12/17 Javascript
封装了一个js图片轮换效果的函数
2011/09/28 Javascript
iPhone手机上搭建nodejs服务器步骤方法
2015/07/06 NodeJs
js淡入淡出焦点图幻灯片效果代码分享
2015/09/08 Javascript
解决js页面滚动效果scrollTop在FireFox与Chrome浏览器间的兼容问题的方法
2015/12/03 Javascript
jQuery ajax MD5实现用户注册即时验证功能
2016/10/11 Javascript
javascript设计模式之模块模式学习笔记
2017/02/15 Javascript
React Native之prop-types进行属性确认详解
2017/12/19 Javascript
Vue.set()实现数据动态响应的方法
2018/02/07 Javascript
vue2.0组件之间传值、通信的多种方式(干货)
2018/02/10 Javascript
JS一次前端面试经历记录
2020/03/19 Javascript
小程序实现背景音乐播放和暂停
2020/06/19 Javascript
[03:45]Newbee战队出征西雅图 决战2016国际邀请赛
2016/08/02 DOTA
[01:54]TI珍贵瞬间系列(五):压力
2020/08/29 DOTA
python验证码识别的实例详解
2016/09/09 Python
Python线程下使用锁的技巧分享
2018/09/13 Python
关于pytorch中全连接神经网络搭建两种模式详解
2020/01/14 Python
python实现图片转换成素描和漫画格式
2020/08/19 Python
html5 web本地存储将取代我们的cookie
2012/12/26 HTML / CSS
html5借用repeating-linear-gradient实现一把刻度尺(ruler)
2019/09/09 HTML / CSS
使用iframe+postMessage实现页面跨域通信的示例代码
2020/01/14 HTML / CSS
英国领先的葡萄酒专家:Majestic Wine
2017/05/30 全球购物
MAC彩妆英国官网:M·A·C UK
2018/05/30 全球购物
俄罗斯GamePark游戏商店网站:购买游戏、游戏机和配件
2020/03/13 全球购物
美国室内盆栽植物购买网站:Plants.com
2020/04/24 全球购物
合作协议书
2014/04/23 职场文书
医师定期考核实施方案
2014/05/07 职场文书
学生党员公开承诺书
2014/05/28 职场文书
公司员工违纪检讨书
2015/05/05 职场文书
工会经费申请报告
2015/05/15 职场文书
七年级之开学家长寄语35句
2019/09/05 职场文书
导游词之舟山普陀山
2019/11/06 职场文书
Python面向对象编程之类的概念
2021/11/01 Python