`
yeyuan
  • 浏览: 230852 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

【转】关于php mysql中的储存过程

阅读更多
转自: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存储过程 #### 背景与目的 在Web开发中,PHP是一种广泛使用的服务器端脚本语言,它与MySQL数据库结合得非常紧密,为开发者提供了强大的功能来处理数据。存储过程是预编译好的SQL代码块,它们...

    PHP和MySQL存储过程实例

    根据给定的信息,我们可以深入探讨PHP与MySQL存储过程的相关知识点,包括如何在MySQL中使用`CONCAT`函数、创建存储过程以及如何通过PHP脚本来调用这些存储过程。 ### 使用 CONCAT 函数 #### 标题中的示例 ```sql ...

    mySQL存储过程调用

    在IT领域,尤其是在数据库管理和Web开发中,MySQL存储过程与PHP的结合应用是十分常见且重要的技术点。根据给定的文件信息,我们将深入探讨如何在PHP中调用MySQL存储过程,这一知识点对于理解数据库自动化任务、提高...

    mysql存储过程实例

    MySQL 存储过程实例详细介绍了 MySQL 存储过程的开发步骤,本节将通过具体的实例讲解 PHP 是如何操纵 MySQL 存储过程的。 创建存储过程 存储过程的创建是 MySQL 存储过程的基础,MySQL 5.0 以后的版本开始支持存储...

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

    MySQL存储过程是数据库中用于执行复杂操作的一组预编译的SQL语句,它们可以接收输入参数、输出结果以及在内部处理数据。在本示例中,我们将探讨如何通过存储过程返回多个值,并且结合PHP进行调用。 首先,我们要...

    MySQL存储过程编程教程.pdf

    MySQL存储过程编程是数据库应用开发中的一个重要环节,它可以帮助开发者将一系列的数据库操作封装起来,以提高程序的可维护性和运行效率。在MySQL 5.0及以上版本中,存储过程、函数和触发器的支持为数据库提供了更...

    mysql中存储过程的实例教程

    MySQL存储过程是一种在MySQL数据库中通过定义一系列操作来执行特定任务的程序代码集合。它允许用户封装一系列SQL语句,提高代码的复用性,并且可以通过参数传递,提高数据处理的灵活性。本实例教程将详细介绍如何在...

    MySQL存储过程实例教程

    MySQL存储过程是一种预编译的SQL语句集合,它允许开发者封装一系列的操作在一个单一的命名实体中,提高了数据库操作的效率和安全性。在MySQL 5.0及以后的版本中,存储过程成为了重要的功能之一,尤其对于大型和复杂...

    php mysql数据库 存储session

    在实现PHP MySQL数据库存储session的过程中,我们需要做以下几步: 1. **配置session处理**:修改PHP的session配置,设置session.save_handler为"sql_session"(假设我们有一个自定义的session处理器),并且设置...

    php+mysql实现数据库图片的存储及显示

    然后,我们可以将这个二进制数据存储到MySQL数据库中。创建一个合适的表结构至关重要,这里需要一个字段用来存储二进制图片数据,一般使用BLOB(Binary Large Object)类型。例如: ```sql CREATE TABLE images ( ...

    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 ...

    mysql动态行转列

    在本示例中,我们将创建一个存储过程来实现动态行转列,用于从数据库中提取指定学生的成绩信息。 描述解释 MySQL 数据库中存在一个问题,即如何将一行数据转换为多列数据,以便更好地显示和分析数据。在本示例中,...

    Apache+mysql+php

    在WAMP环境中,Apache负责接收HTTP请求并返回响应,PHP作为Apache的模块,解析.php文件中的代码并生成动态内容,而MySQL则作为数据存储的后端,保存和处理来自应用程序的数据。 安装与配置WAMP服务器通常涉及以下...

    php整合mysql文档

    在安装过程中,可能需要先停止MySQL服务,以避免出现冲突或错误。 #### 步骤4:启动MySQL服务 ``` shell&gt; /etc/rc.d/init.d/mysqld start ``` 安装完成后,重新启动MySQL服务,确保MySQL服务正常运行。 #### 步骤5...

    php+mysql 图书

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

Global site tag (gtag.js) - Google Analytics