php存储函数的存储过程
1、存储函数
存储函数就是函数!——只是规定:其必须返回一个数据值;
我们系统内部也有一些函数,比如:
md5(), now(), version(), mid() .....
所有函数,都有一个返回值;
我们使用的时候,就要把该函数的调用当做一个值来看待并使用。
则:
我们自己定义的函数,也可以同样使用。
定义形式:

2、函数中语句,可以有:
变量定义和使用;
流程控制语句;
数据表的增删改操作; #不可以进行查询操作(select, show, desc)
举例:


3、写一个函数(假设为f2),能够求得3个数中的最大值。
测试代码:
select f2(3, 4, 5);#得到5
select f2(5, 4, 3);#得到5
select f2(5, 5, 5);#得到5


4、存储过程
存储过程还是函数!——只是规定:存储函数不能返回数据值;
定义形式:
说明:
1,该存储过程中,不能使用return语句返回数据;
2,而存储过程中,其中的select会返回结果集,只是作为“数据查询结果”(表的形式),而不是作为“存储过程”执行后得到的“单个数据”。
3,其中,形参前面可以带:in, 或out, 或inout修饰符,其含义分别为:
in:表示该形参是接收实参传过来的数据,也就是最常见的情形,默认不写就是它;
out:表示该形参是用于将函数内部的数据传出给对应的实参,此时实参必须是变量
inout:具有上述2个功能。此时,其对应实参也必须是变量。

5、存储过程调用形式:
call 存储过程名(实参1,实参2,....)
在php中,也可以调用它,类似这样:
<?php
$result = mysql_query(“call getStuByGender(‘男’) ”);
?>
举例:


6、演示2:使用in,out,inout的形参:



7、再来验证@m2, @m3的值:
