Я сделал хранимую процедуру с параметром. Когда я вызываю эту процедуру без ошибок, мне не показывают никаких результатов. Что не так в этом коде?Почему вызов хранимой процедуры ничего не возвращает?
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.
@ usermesam0023, но когда я использую параметр, он показывает мне ошибку «Результат состоял из более чем одной строки», если в таблице с одним и тем же номером контакта существует несколько строк. –
возможно, это проблема phpMyAdmin. Вы пытались с командной строкой 'mysql' или с другим SQL-клиентом? –
Я предполагаю, что у вас нет такой строки в базе данных. Хорошо работает для меня: http://sqlfiddle.com/#!2/719f95/1 –