php 调用mysql存储过程 输入多个参数,出参只需一个如何写?

存储过程10个入参(查询条件),10个出参(查询字段)。... 存储过程 10个入参(查询条件),10个出参(查询字段)。 展开
 我来答
doreen_33
2012-06-20 · TA获得超过957个赞
知道小有建树答主
回答量:392
采纳率:100%
帮助的人:146万
展开全部
以下只是个例子
CREATE procedure test
@n1 char(10),
@n2 char(10),
@n3 char(10),
@n4 char(10),
@n5 char(10),
@n6 char(10),
@n7 char(10),
@n8 datetime,
@n9 datetime,
@n10 int

as
select * --------这部分请将传入的参数带入查询的条件中
from table1 t1,table2 t2,table3 t3
where deldate between @n8 and @n9
and t1.ponum = t2.ponum
and t2.partnum = t3.partnum
and t3.layer =@n1

GO
追问
谢谢你的回答,我是想用php调用,如何实现。比如你写的这个存储过程。入参在call里怎么写?每个参数都是必须的吗?还有出参?
$n1 = " ";
$n2 = " ";
$n3= " ";.....
$sql = "CALL test ('$n1','$n2','$n3',.......')" ;
$link = mysql_connect("localhost", "root", "123456")
$result = mysql_query("db", $sql, $link);
while($row = mysql_fetch_assoc($result));
{
echo ‘..........查询的字段
}
追答
可以在执行CALL test ($n1,$n2,$n3,.......)之前对几个参数进行赋值,就像$n1 = " ";这就是入参,
$result = mysql_query("db", $sql, $link);这句执行完就会出参
参数是否必须要看你存储过程的内容里的定义,有时某个参数不影响存储过程的定义就可以不赋值
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式