mysql - 存储过程不执行任何操作

标签 mysql phpmyadmin

我有这个存储过程

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/

相关文章:

Python - 在 1and1 主机上安装 Pillow 和 MySQL-python

mysql - 获取多个表中不同值的计数 (MySQL)

php - 字符编码 - 我不明白

mysql - WHERE 子句中的一些错误

mysql - 我可以在 MYSQL 数据库表中插入图像吗?

php - Mysqli Where 子句错误

mysql 客户端设置 no-auto-rehash 与 mysqldump 冲突

php - 我有一个充满 <a> 标签的 mySQL 数据库,但在 echo'ing 时链接不起作用

php - MySQL:通过创建的随机组增加ID

mysql - 转移phpmyadmin中的所有数据库