`
lan13217
  • 浏览: 483028 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

PHP与MYSQL的存储过程

    博客分类:
  • PHP
阅读更多

http://blog.csdn.net/binger819623/archive/2010/03/15/5382300.aspx

实例一:无参的存储过程
$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中调用MySQL存储过程

    php中调用MySQL存储过程,主要利用mysqli实现

    PHP和MySQL存储过程实例

    PHP和MySQL存储过程实例 concat联合多例: select concat(user,":",jtsr) from jtsr;

    mySQL存储过程调用

    php中调用MySQL存储过程示例

    mysql存储过程之返回多个值的方法示例

    主要介绍了mysql存储过程之返回多个值的方法,结合实例形式分析了mysql存储过程返回多个值的实现方法与PHP调用技巧,需要的朋友可以参考下

    MYSQL存储过程编程

    mysql存储过程编程教程:  MySQL 存储过程编程基础 -- 指南,基本语句,存储过程中的 SQL 和错误处理  创建 MySQL 存储过程程序 -- 事务处理,内建函数,存储过程函数和触发器  在应用程序中使用 MySQL 存储...

    PHP_MySQL_存储过程_最新

    PHP_MySQL_存储过程_最新 储存过程

    php调用mysql存储过程

    前面转载了一篇《php调用mysql存储过程的文章》经过测试,发现文章中的方法似乎不可行! 调用带有select语句的存储过程就出现 PROCEDURE p can’t return a result set in the given context的错误。...

    MySql存储过程编程.chm

    MySQL Stored Procedure Programming Advance Praise for MySQL Stored Procedure Programming Preface Objectives of This Book Structure of This Book What This Book Does Not Cover Conventions ...

    php调用mysql存储过程实例分析

    主要介绍了php调用mysql存储过程,综合各种常见实例分析了php调用mysql存储过程的各种常见操作与使用技巧,具有一定的参考借鉴价值,需要的朋友可以参考下

    PHP实现PDO操作mysql存储过程示例

    主要介绍了PHP实现PDO操作mysql存储过程,结合具体实例形式分析了php使用pdo操作mysql存储过程实现用户注册功能相关技巧,需要的朋友可以参考下

    mysql中存储过程的实例教程

    ( 1 ) MySQL 存储过程是在 “ 命令...( 1 )通过 PHP 预定义类 mysqli ,实现与 MySQL 数据库 的连接。代码如下: $conn=new mysqli("localhost","root","root","db_database09");$conn-&gt;query("set names gb2312");

    MySQL存储过程概念、原理与常见用法详解

    本文实例讲述了MySQL存储过程概念、原理与常见用法。分享给大家供大家参考,具体如下: 1、存储过程的概念 在一些语言中,如pascal,有一个概念叫“过程”procedure,和“函数”function,在php中,没有过程,只有...

    mysql存储过程

    mysql存储过程,适合新手入门理解并能快速理解存储过程。

    php+mysql 图书

    《php和mysql web开发(原书第4版)》是第4版,经过了全面的更新、重写和扩展,包括PHP 5.3最新改进的特性(例如,更好的错误和异常处理),MySQL的存储过程和存储引擎,Ajax技术与Web 2.0以及Web应用需要注意的安全...

    php mysql数据库 存储session

    NULL 博文链接:https://melec.iteye.com/blog/851649

    PHP调用MySQL的存储过程的实现代码

    MySQL好像从5.0开始才引入存储过程,反正以前做应用的时候从没碰过,不过现在因为主要作内部系统

    PHP和mysql+web开发

    本书将PHP开发与MySQL应用...本书是第4版,经过了全面的更新、重写和扩展,包括PHP 5.3最新改进的特性(例如,更好的错误和异常处理),MySQL的存储过程和存储引擎,Ajax技术与Web 2.0以及Web应用需要注意的安全问题。

    PHP调用MySQL存储过程并返回值的方法

    主要介绍了PHP调用MySQL存储过程并返回值的方法,较为详细的分析了存储过程的使用技巧,具有一定的参考借鉴价值,需要的朋友可以参考下

    PHP和MySQL Web开发 第4版 源代码

    本书将PHP开发与MySQL应用...本书是第4版,经过了全面的更新、重写和扩展,包括PHP 5.3最新改进的特性(例如,更好的错误和异常处理),MySQL的存储过程和存储引擎,Ajax技术与Web 2.0以及Web应用需要注意的安全问题。

Global site tag (gtag.js) - Google Analytics