Хранимый Proc не выполняет никаких действий

У меня есть эта хранимая процедура

DELIMITER $$
DROP PROCEDURE IF EXISTS RegisterUser$$
CREATE PROCEDURE 'RegisterUser'(IN 'username' VARCHAR(30), IN 'password' VARCHAR(30), IN 'firstname' VARCHAR(25), IN 'lastname' VARCHAR(30), IN 'email' VARCHAR(35))


BEGIN
INSERT INTO users
(
username,
password,
firstname,
lastname,
email
)
VALUES
(
@username,
@password,
@firstname,
@lastname,
@email
);

END $$
DELIMITER ;

Всякий раз, когда я пытаюсь выполнить это в PHPmyadmin или из кода PHP, записи не вставляются и ошибок не возникает. Спасибо за помощь!

1 ответ

Не используйте @ так как ваши параметры также не имеют их.

DELIMITER $$
DROP PROCEDURE IF EXISTS RegisterUser$$
CREATE PROCEDURE 'RegisterUser'(IN 'uname' VARCHAR(30), IN 'pass' VARCHAR(30), IN 'first' VARCHAR(25), IN 'last' VARCHAR(30), IN 'mail' VARCHAR(35)) 
BEGIN
 INSERT INTO users (username, password, firstname, lastname, email)
 VALUES (uname, pass, first, last, mail);
END $$
DELIMITER ;

И используйте разные имена параметров, чем имена столбцов, чтобы избежать ошибок.

licensed under cc by-sa 3.0 with attribution.