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 相关文章推荐
做一个有下拉功能的留言版
Oct 09 PHP
PHP Token(令牌)设计
Mar 15 PHP
php htmlentities和htmlspecialchars 的区别
Aug 18 PHP
解析PHP将对象转换成数组的方法(兼容多维数组类型)
Jun 21 PHP
php生成验证码函数
Oct 20 PHP
PHP转换文本框内容为HTML格式的方法
Jul 20 PHP
php is_executable判断给定文件名是否可执行实例
Sep 26 PHP
Yii2针对游客、用户防范规则和限制的解决方法分析
Oct 08 PHP
在php7中MongoDB实现模糊查询的方法详解
May 03 PHP
PHP中TP5 上传文件的实例详解
Jul 31 PHP
关于Laravel-admin的基础用法总结和自定义model详解
Oct 08 PHP
PHP+ajax实现上传、删除、修改单张图片及后台处理逻辑操作详解
Feb 12 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
菜鸟修复电子管记
2021/03/02 无线电
ThinkPHP3.1查询语言详解
2014/06/19 PHP
Thinkphp自定义代码生成工具及用法说明(附下载地址)
2016/05/27 PHP
PHP addslashes()函数讲解
2019/02/03 PHP
Laravel框架控制器的request与response用法示例
2019/09/30 PHP
php获取是星期几的的一些常用姿势
2019/12/15 PHP
可以把编码转换成 gb2312编码lib.UTF8toGB2312.js
2007/08/21 Javascript
JavaScript 事件查询综合
2009/07/13 Javascript
jQuery 处理表单元素的代码
2010/02/15 Javascript
javascript 图片上一张下一张链接效果代码
2010/03/12 Javascript
javascript中的document.open()方法使用介绍
2013/10/09 Javascript
Javascript学习笔记之 函数篇(一) : 函数声明和函数表达式
2014/06/24 Javascript
JQuery表格拖动调整列宽效果(自己动手写的)
2014/09/01 Javascript
js控制鼠标事件移动及移出效果显示
2014/10/19 Javascript
JS实现简单的图书馆享元模式实例
2015/06/30 Javascript
jquery遍历table的tr获取td的值实现方法
2016/05/19 Javascript
jquery使用EasyUI Tree异步加载JSON数据(生成树)
2017/02/11 Javascript
nodejs取得当前执行路径的方法
2018/05/13 NodeJs
Vue数据双向绑定的深入探究
2018/11/27 Javascript
iview form清除校验状态的实现
2019/09/19 Javascript
python模拟登录百度贴吧(百度贴吧登录)实例
2013/12/18 Python
Python实例一个类背后发生了什么
2016/02/09 Python
Python 获得命令行参数的方法(推荐)
2018/01/24 Python
python 用正则表达式筛选文本信息的实例
2018/06/05 Python
Python pandas DataFrame操作的实现代码
2019/06/21 Python
详解Python对JSON中的特殊类型进行Encoder
2019/07/15 Python
Python any()函数的使用方法
2019/10/28 Python
Python获取二维数组的行列数的2种方法
2020/02/11 Python
Python实现转换图片背景颜色代码
2020/04/30 Python
Python 实现将某一列设置为str类型
2020/07/14 Python
HTML5的一个显示电池状态的API简介
2015/06/18 HTML / CSS
荷兰牛仔裤网上商店:Jeans Centre
2018/04/03 全球购物
会计学毕业生求职信
2014/06/25 职场文书
关于诚信的活动方案
2014/08/18 职场文书
学习经验交流会总结
2015/11/02 职场文书
2019年亲子运动会口号
2019/10/11 职场文书