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

前端之家收集整理的这篇文章主要介绍了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下面看效果

猜你在找的PHP相关文章