Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 为什么调用存储过程不返回任何内容?_Mysql_Stored Procedures_Phpmyadmin - Fatal编程技术网

Mysql 为什么调用存储过程不返回任何内容?

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

我用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参数并调用存储过程并选择该变量时,它工作得很好。我还尝试了在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中做到这一点,但我需要通过存储过程来做到这一点