gpt4 book ai didi

mysql - 插入功能不起作用[phpmyadmin,mysql]

转载 作者:行者123 更新时间:2023-11-29 15:44:16 25 4
gpt4 key购买 nike

我正在尝试在 phpmyadmin 中创建 SQL 存储函数,以便在插入用户时在 PHP 代码中调用它。一切看起来都很好,但不起作用,我不明白为什么。

我尝试了不同的方法,但总是失败。希望有人帮忙。

这是我在 phpmyadmin 中的表用户

DROP TABLE IF EXISTS `utilisateurs`;
CREATE TABLE IF NOT EXISTS `utilisateurs` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`nom` varchar(100) DEFAULT NULL,
`prenom` varchar(100) DEFAULT NULL,
`ref_sexe` int(11) DEFAULT NULL,
`email` varchar(255) NOT NULL,
`tel` varchar(255) DEFAULT NULL,
`ref_pays` int(11) DEFAULT NULL,
`ref_typeUtilisateur` int(11) NOT NULL,
`mot_de_passe` varchar(255) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `email` (`email`),
KEY `ref_typeUtilisateur` (`ref_typeUtilisateur`),
KEY `ref_pays` (`ref_pays`),
KEY `ref_sexe` (`ref_sexe`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=latin1;

这是我在 phpmyadmin 中存储的函数。

DROP FUNCTION IF EXISTS `CreerUtilisateur`$$
CREATE DEFINER=`root`@`localhost` FUNCTION `CreerUtilisateur` (`EmailUser` VARCHAR(255), `ConfirmerEmailUser` VARCHAR(255), `MotDePasseUser` VARCHAR(255), `ConfirmerMDPUser` VARCHAR(255)) RETURNS TEXT CHARSET latin1 MODIFIES SQL DATA
BEGIN
IF Email = "" THEN
RETURN "Veuillez encoder votre email";
END IF;
IF ConfirmerEmail = "" THEN
RETURN "Veuillez confirmer votre email";
END IF;
IF ConfirmerEmail != Email THEN
RETURN "Veuillez encoder le meme email";
END IF;
IF MotDePasse = "" THEN
RETURN "Veuillez encoder votre mot de passe";
END IF;
IF ConfirmerMDP = "" THEN
RETURN "Veuillez confirmer votre mot de passe";
END IF;
IF ConfirmerMDP != MotDePasse THEN
RETURN "Veuillez encoder le meme mot de passe";
END IF;
INSERT INTO utilisateurs
SET
id = null,
nom = null,
prenom = null,
ref_sexe = null,
utilisateurs.email = EmailUser,
tel = null,
ref_pays = null,
utilisateurs.ref_typeUtilisateur = 2,
utilisateurs.mot_de_passe = CrypterMotDePasse(MotDePasseUser);
RETURN (SELECT LAST_INSERT_ID());
END$$

这是一份注册表。

 Email - EmailConfirmation
Password - PasswordConfirmation

插入内容应添加具有电子邮件/密码(散列)的用户,并且默认情况下 utilisateurs.ref_typeUtilisateur 设置为 User

但是这不起作用。

最佳答案

我找到了为什么它不起作用。一切都很好,除了(电子邮件、ConfirmerEmail、MotDePasse、ConfirmerMDP)

更正:

Email => EmailUser
ConfirmerEmail => ConfirmerEmailUser,
MotDePasse => MotDePasseUser,
ConfirmerMDP => ConfirmerMDPUser

当你注意力不集中时就会发生这种情况。

关于mysql - 插入功能不起作用[phpmyadmin,mysql],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57250298/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com