我用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');
它不返回任何行,并且phpmyadmin中没有显示错误。但是,当我使用out参数并调用存储过程并选择该变量时,它工作正常。我还尝试了this link和this link。
答案 0 :(得分:0)
在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
答案 1 :(得分:0)
我正在添加我的答案,相信它可能对其他人有用。
我正在努力解决同样的问题但是当我在mysqlworkbench中调用这个程序时,它就像一个魅力。所以这可能是一个phpmyadmin的问题,如@a_horse_with_no_name建议。