经测试代码如下:
$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下面看效果