我的Store程序有4个类型参数。我想在php mysql中调用存储过程时只使用3个参数。
我的存储过程是
DELIMITER $$
CREATE PROCEDURE `usptregister`
(
IN ID bigint,
IN name varchar(100),
IN email varchar(100),
IN phoneno varchar(15)
)
BEGIN
Insert INTO register
(id,fname, emailid, phone) values
(id,name , email ,phone) ;
END
和我的php代码,我调用的存储过程只传递3个参数。
$call = mysql_query("CALL usptregister('0','".$_POST[name ]."','".$_POST[email ]."') ");
当我在调用存储过程时传递相同的no参数时,此代码正在工作。 我是存储过程的新手。请帮助我。
答案 0 :(得分:0)
MySQL不支持可选参数
我建议你将第四个参数作为null
传递。然后在该过程中,您可以检查是否null
。
BEGIN
IF param IS NULL THEN
-- statements ;
ELSE
-- statements ;
END IF;
END$$
编辑:
http://bugs.mysql.com/bug.php?id=15975
虽然请求已有9年,但仍未完成。