我有这个存储过程
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 代码中执行此操作时,都不会插入任何记录,也不会出现错误。感谢您的帮助!
最佳答案
不要使用@
,因为您的参数也没有它们。
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 ;
并使用与列名称不同的参数名称以避免错误。
关于mysql - 存储过程不执行任何操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25438357/