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.ini实现Mysql导入数据库文件最大限制的修改方法
Dec 11 PHP
php 面试碰到过的问题 在此做下记录
Jun 09 PHP
Linux下CoreSeek及PHP扩展模块的安装
Sep 23 PHP
php安全开发 添加随机字符串验证,防止伪造跨站请求
Feb 14 PHP
PHP简单获取视频预览图的方法
Mar 12 PHP
php实现修改新闻时删除图片的方法
May 12 PHP
PHP简单判断iPhone、iPad、Android及PC设备的方法
Oct 11 PHP
php in_array() 检查数组中是否存在某个值详解
Nov 23 PHP
PHP 文件锁与进程锁的使用示例
Aug 07 PHP
PHP simplexml_load_string()函数实例讲解
Feb 03 PHP
laravel框架select2多选插件初始化默认选中项操作示例
Feb 18 PHP
php下的原生ajax请求用法实例分析
Feb 28 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发送html格式文本邮件的方法
2015/06/10 PHP
php版微信公众平台实现预约提交后发送email的方法
2016/09/26 PHP
五个jQuery图片画廊插件 推荐
2011/05/12 Javascript
jQuery EasyUI API 中文文档 - Pagination分页
2011/09/29 Javascript
javascript 星级评分效果(手写)
2012/12/24 Javascript
关于jQuery object and DOM element
2013/04/15 Javascript
jQuery动画animate方法使用介绍
2013/05/06 Javascript
jquery中页面Ajax方法$.load的功能使用介绍
2014/10/20 Javascript
JQuery设置时间段下拉选择实例
2014/12/30 Javascript
JavaScript声明变量名的语法规则
2015/07/10 Javascript
CSS中position属性之fixed实现div居中
2015/12/14 Javascript
深入浅析Node.js 事件循环
2015/12/20 Javascript
Bootstrap每天必学之模态框(Modal)插件
2016/04/26 Javascript
AngularJS控制器继承自另一控制器
2016/05/09 Javascript
AngularJS基于provider实现全局变量的读取和赋值方法
2017/06/28 Javascript
es6 字符串String的扩展(实例讲解)
2017/08/03 Javascript
利用JS做网页特效_大图轮播(实例讲解)
2017/08/09 Javascript
表格展示利器 Bootstrap Table实例代码
2017/09/06 Javascript
vue 下列表侧滑操作实例代码详解
2018/07/24 Javascript
vuex实现的简单购物车功能示例
2019/02/13 Javascript
Vue2.0+Vux搭建一个完整的移动webApp项目的示例
2019/03/19 Javascript
vue实现购物车案例
2020/05/30 Javascript
vue实现分页的三种效果
2020/06/23 Javascript
vue keep-alive实现多组件嵌套中个别组件存活不销毁的操作
2020/10/30 Javascript
利用Python循环(包括while&amp;for)各种打印九九乘法表的实例
2017/11/06 Python
wxpython实现图书管理系统
2018/03/12 Python
浅谈numpy生成数组的零值问题
2018/11/12 Python
Django中更改默认数据库为mysql的方法示例
2018/12/05 Python
Python中文件的写入读取以及附加文字方法
2019/01/23 Python
python网络爬虫 Scrapy中selenium用法详解
2019/09/28 Python
python3实现在二叉树中找出和为某一值的所有路径(推荐)
2019/12/26 Python
python如何从键盘获取输入实例
2020/06/18 Python
html5文字阴影效果text-shadow使用示例
2013/07/25 HTML / CSS
KIKO MILANO英国官网:意大利知名化妆品和护肤品品牌
2017/09/25 全球购物
Book Depository美国:全球领先的专业网上书店之一
2019/08/14 全球购物
珍惜资源的建议书
2014/08/26 职场文书