Mysql 为什么调用存储过程不返回任何内容?
我用in参数创建了一个存储过程。当我调用这个过程时,没有错误,没有结果显示给我。这个代码有什么问题Mysql 为什么调用存储过程不返回任何内容?,mysql,stored-procedures,phpmyadmin,Mysql,Stored Procedures,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; EN
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参数并调用存储过程并选择该变量时,它工作得很好。我还尝试了在SP内运行查询时使用,
这个可以用
SELECT id,name
FROM tbl_user
WHERE contact = `contactname`;
但是这个不行
SELECT id,name
FROM tbl_user
WHERE contact = contact1;
在这里你可以找到原因:我添加我的答案,相信它可能对其他人有用
我也遇到了同样的问题,但当我在mysqlworkbench中调用这个过程时,它的效果非常好。因此,这可能是phpmyadmin的问题,因为@a_horse_有一个没有名字的建议。@usermesam0023但当我使用out参数时,它会显示由多行组成的错误
结果,如果表中有多行具有相同联系人编号。那么可能是phpmyadmin问题。您是否尝试过使用mysql
命令行或其他SQL客户机?我猜您的数据库中没有这样的行。对我来说效果很好:当您尝试通过phpMyAdmin中的图形工具运行它时会发生什么?最简单的方法是展开导航窗格中的“过程”链接并在其中选择您的过程。我应该如何解决我的问题?我只需要所有具有相同手机号码的行(例如,检查他们是否输入了假联系号码)。我知道如何在sql中做到这一点,但我需要通过存储过程来做到这一点