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下10件你也许并不了解的事情
Sep 11 PHP
PHP 事务处理数据实现代码
May 13 PHP
php学习笔记 面向对象中[接口]与[多态性]的应用
Jun 16 PHP
深入理解curl类,可用于模拟get,post和curl下载
Jun 08 PHP
IIS+fastcgi下PHP运行超时问题的解决办法详解
Jun 20 PHP
php实现监听事件
Nov 06 PHP
php中的curl使用入门教程和常见用法实例
Apr 10 PHP
thinkphp3.0输出重复两次的解决方法
Dec 19 PHP
Android AsyncTack 异步任务实例详解
Nov 02 PHP
PHP基于PDO调用sqlserver存储过程通用方法【基于Yii框架】
Oct 07 PHP
PHP抽象类和接口用法实例详解
Jul 20 PHP
laravel中的fillable和guarded属性详解
Oct 23 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
ThinkPHP CURD方法之page方法详解
2014/06/18 PHP
php基于GD库画五星红旗的方法
2015/02/24 PHP
二行代码解决全部网页木马
2008/03/28 Javascript
基于jquery的划词搜索实现(备忘)
2010/09/14 Javascript
jquery submit ie6下失效的原因分析及解决方法
2013/11/15 Javascript
jquery清空表单数据示例分享
2014/02/13 Javascript
javascript学习笔记之10个原生技巧
2014/05/21 Javascript
初始Nodejs
2014/11/08 NodeJs
SyntaxHighlighter 3.0.83使用笔记
2015/01/26 Javascript
javascript引用类型之时间Date和数组Array
2015/08/27 Javascript
JavaScript中的原型继承基础学习教程
2016/05/06 Javascript
jQuery UI Bootstrap是什么?
2016/06/17 Javascript
vue制作加载更多功能的正确打开方式
2016/10/12 Javascript
详解angularJS动态生成的页面中ng-click无效解决办法
2017/06/19 Javascript
webpack3升级到webpack4遇到问题总结
2019/09/30 Javascript
JS实现电商商品展示放大镜特效
2020/01/07 Javascript
python入门教程之识别验证码
2017/03/04 Python
python感知机实现代码
2019/01/18 Python
Python3+PyInstall+Sciter解决报错缺少dll、html等文件问题
2019/07/15 Python
6行Python代码实现进度条效果(Progress、tqdm、alive-progress​​​​​​​和PySimpleGUI库)
2020/01/06 Python
翻转数列python实现,求前n项和,并能输出整个数列的案例
2020/05/03 Python
python中sys模块是做什么用的
2020/08/16 Python
canvas实现圆绘制的示例代码
2019/09/11 HTML / CSS
维多利亚的秘密官方旗舰店:VICTORIA’S SECRET
2018/04/02 全球购物
Watch Station官方网站:世界一流的手表和智能手表
2020/01/05 全球购物
SQL语言面试题
2013/08/27 面试题
校领导推荐信
2013/11/01 职场文书
技术总监的工作职责
2013/11/13 职场文书
完美主义个人的自我评价
2014/02/17 职场文书
标准化管理实施方案
2014/02/25 职场文书
小学校长先进事迹材料
2014/05/13 职场文书
户籍证明格式
2014/09/15 职场文书
2015庆祝七一建党节94周年活动总结
2015/03/20 职场文书
Python中使用Lambda函数的5种用法
2021/04/01 Python
Python基础之hashlib模块详解
2021/05/06 Python
如何理解PHP核心特性命名空间
2021/05/28 PHP