PHP 创建、调用MySQL存储过程的示例

实例一:无参的存储过程
经测试代码如下:

$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);


/***   代码来自编程之家 jb51.cc(jb51.cc)   ***/
创建一个myproce的存储过程
经测试代码如下:

$sql = call test.myproce();;
MySQL_query($sql);


/***   代码来自编程之家 jb51.cc(jb51.cc)   ***/
调用myproce的存储过程,则数据库中将增加一条新记录。

实例二:传入参数的存储过程
经测试代码如下:

$sql = 
create procedure myproce2(in score int)
begin
if score >= 60 then
select 'pass';
else
select 'no';
end if;
end; 
;
MySQL_query($sql);


/***   代码来自编程之家 jb51.cc(jb51.cc)   ***/
创建一个myproce2的存储过程
经测试代码如下:

$sql = call test.myproce2(70);;
MySQL_query($sql);


/***   代码来自编程之家 jb51.cc(jb51.cc)   ***/
调用myproce2的存储过程,看不到效果,可以在cmd下看到结果。

实例三:传出参数的存储过程
经测试代码如下:

$sql = 
create procedure myproce3(out score int)
begin
set score=100;
end; 
;
MySQL_query($sql);


/***   代码来自编程之家 jb51.cc(jb51.cc)   ***/
创建一个myproce3的存储过程
经测试代码如下:

$sql = call test.myproce3(@score);;
MySQL_query($sql);


/***   代码来自编程之家 jb51.cc(jb51.cc)   ***/
调用myproce3的存储过程
经测试代码如下:

$result = MySQL_query('select @score;');
$array = MySQL_fetch_array($result);
echo '<pre>';print_r($array);


/***   代码来自编程之家 jb51.cc(jb51.cc)   ***/

实例四:传出参数的inout存储过程
经测试代码如下:

$sql = 
create procedure myproce4(inout sexflag int)
begin
SELECT * FROM user WHERE sex = sexflag;
end; 
;
MySQL_query($sql);


/***   代码来自编程之家 jb51.cc(jb51.cc)   ***/
创建一个myproce4的存储过程
经测试代码如下:

$sql = set @sexflag = 1;
MySQL_query($sql);


/***   代码来自编程之家 jb51.cc(jb51.cc)   ***/
设置性别参数为1
经测试代码如下:

$sql = call test.myproce4(@sexflag);;
MySQL_query($sql);


/***   代码来自编程之家 jb51.cc(jb51.cc)   ***/
调用myproce4的存储过程,在cmd下面看效果

相关文章

文章浏览阅读8.4k次,点赞8次,收藏7次。SourceCodester Onl...
文章浏览阅读3.4k次,点赞46次,收藏51次。本文为大家介绍在...
文章浏览阅读1.1k次。- php是最优秀, 最原生的模板语言, 替代...
文章浏览阅读1.1k次,点赞18次,收藏15次。整理K8s网络相关笔...
文章浏览阅读1.2k次,点赞22次,收藏19次。此网络模型提供了...
文章浏览阅读1.1k次,点赞14次,收藏19次。当我们谈论网络安...