为什么调用存储过程没有 return 任何东西?
Why calling a stored procedure does not return anything?
我用in参数做了一个存储过程。当我调用此过程没有错误时,不会向我显示任何结果。这段代码有什么问题?
drop PROCEDURE if exists `getUsersByContact`;
delimiter $$
Create PROCEDURE `getUsersByContact`(
IN contact1 VARCHAR(10)
)
BEGIN
SELECT id,name FROM tbl_user WHERE contact = contact1;
END $$
delimiter ;
当我这样打电话的时候
call getUsersByContact('9999999999');
它没有 return 任何行,并且 phpmyadmin 中没有显示任何错误。但是,当我使用 out 参数并调用存储过程和 select 该变量时,它工作正常。我也试过 this link and this link.
当运行在SP内部查询时,
这个有用!!
SELECT id,name
FROM tbl_user
WHERE contact = `contactname`;
但是这个不行。
SELECT id,name
FROM tbl_user
WHERE contact = contact1;
这里可以找到原因:http://mysqldb.bigresource.com/SELECT-INTO-returns-null-in-Stored-Procedure-Jx95y6IPJ.html
我添加了我的答案,相信它可能对其他人有用。
我一直在为同样的问题而苦苦挣扎,但是当我在 mysqlworkbench 中调用这个过程时,它非常有效。所以这可能是@a_horse_with_no_name建议的phpmyadmin问题。
我用in参数做了一个存储过程。当我调用此过程没有错误时,不会向我显示任何结果。这段代码有什么问题?
drop PROCEDURE if exists `getUsersByContact`;
delimiter $$
Create PROCEDURE `getUsersByContact`(
IN contact1 VARCHAR(10)
)
BEGIN
SELECT id,name FROM tbl_user WHERE contact = contact1;
END $$
delimiter ;
当我这样打电话的时候
call getUsersByContact('9999999999');
它没有 return 任何行,并且 phpmyadmin 中没有显示任何错误。但是,当我使用 out 参数并调用存储过程和 select 该变量时,它工作正常。我也试过 this link and this link.
当运行在SP内部查询时, 这个有用!!
SELECT id,name
FROM tbl_user
WHERE contact = `contactname`;
但是这个不行。
SELECT id,name
FROM tbl_user
WHERE contact = contact1;
这里可以找到原因:http://mysqldb.bigresource.com/SELECT-INTO-returns-null-in-Stored-Procedure-Jx95y6IPJ.html
我添加了我的答案,相信它可能对其他人有用。
我一直在为同样的问题而苦苦挣扎,但是当我在 mysqlworkbench 中调用这个过程时,它非常有效。所以这可能是@a_horse_with_no_name建议的phpmyadmin问题。