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 VS ASP
Oct 09 PHP
AJAX for PHP简单表数据查询实例
Jan 02 PHP
PHP 第二节 数据类型之数值型
Apr 28 PHP
基于MySQL体系结构的分析
May 02 PHP
使用ob系列函数实现PHP网站页面静态化
Aug 13 PHP
PHP页面实现定时跳转的方法
Oct 31 PHP
WordPress开发中短代码的实现及相关函数使用技巧
Jan 05 PHP
php生成验证码,缩略图及水印图的类分享
Apr 07 PHP
实例讲解PHP中使用命名空间
Jan 27 PHP
PHP递归算法的简单实例
Feb 28 PHP
在 Laravel 6 中缓存数据库查询结果的方法
Dec 11 PHP
phpStorm2020 注册码
Sep 17 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 XML数据解析代码
2010/05/26 PHP
探讨GDFONTPATH能否被winxp下的php支持
2013/06/21 PHP
php使用百度天气接口示例
2014/04/22 PHP
Yii框架中 find findAll 查找出制定的字段的方法对比
2014/09/10 PHP
PHP如何通过传引用的思想实现无限分类(代码简单)
2015/10/13 PHP
phpStudy2016 配置多个域名期间遇到的问题小结
2017/10/19 PHP
使用 laravel sms 构建短信验证码发送校验功能
2017/11/06 PHP
JQuery文本框高亮显示插件代码
2011/04/02 Javascript
ASP.NET jQuery 实例3 (在TextBox里面阻止复制、剪切和粘贴事件)
2012/01/13 Javascript
JQuery实现简单时尚快捷的气泡提示插件
2012/12/20 Javascript
js实现可折叠展开的手风琴菜单效果
2015/09/07 Javascript
微信小程序使用第三方库Immutable.js实例详解
2016/09/27 Javascript
jQuery通过ajax方法获取json数据不执行success的原因及解决方法
2016/10/15 Javascript
jquery UI Datepicker时间控件冲突问题解决
2016/12/16 Javascript
bootstrap select2插件用ajax来获取和显示数据的实例
2018/08/09 Javascript
微信小程序引入模块中wxml、wxss、js的方法示例
2019/08/09 Javascript
CountUp.js实现数字滚动增值效果
2019/10/17 Javascript
JQuery中的常用事件、对象属性与使用方法分析
2019/12/23 jQuery
绘制微信小程序验证码功能的实例代码
2021/01/05 Javascript
Python中变量交换的例子
2014/08/25 Python
python中urllib模块用法实例详解
2014/11/19 Python
python获取当前用户的主目录路径方法(推荐)
2017/01/12 Python
python使用tkinter实现简单计算器
2018/01/30 Python
Django框架封装外部函数示例
2019/05/28 Python
浅谈Python线程的同步互斥与死锁
2020/03/22 Python
Django ORM 查询表中某列字段值的方法
2020/04/30 Python
Python读写锁实现实现代码解析
2020/11/28 Python
pycharm + django跨域无提示的解决方法
2020/12/06 Python
非常漂亮的CSS3百叶窗焦点图动画
2016/02/24 HTML / CSS
美国最顶级的精品店之一:Hampden Clothing
2016/12/22 全球购物
Johnson Fitness澳大利亚:高级健身器材
2021/03/16 全球购物
JSP&Servlet技术面试题
2015/05/21 面试题
食品营养与检测应届生求职信
2013/11/08 职场文书
毕业生个人的求职信范文
2013/12/03 职场文书
演讲比赛通讯稿
2015/07/18 职场文书
四年级数学教学反思
2016/02/16 职场文书