gpt4 book ai didi

php - 使用 PDO 调用 mysql 过程出现一般错误

转载 作者:行者123 更新时间:2023-11-29 19:38:42 25 4
gpt4 key购买 nike

你好,我有关于 PDO 的问题,我有一个像这样的 mysql 程序:

CREATE PROCEDURE `user_regis`(IN `name` VARCHAR(50), IN `hp` VARCHAR(12), IN `email` VARCHAR(30), IN `username` VARCHAR(20), IN `password  VARCHAR(20) )

BEGIN

IF (SELECT NOT EXISTS (SELECT * FROM USER WHERE USER_USERNAME = username AND USER_EMAIL = email)) THEN

INSERT INTO USER
(USER_ID, USER_NAME, USER_HP, USER_EMAIL, USER_USERNAME, USER_PASSWORD)
VALUES
(null,name,hp,email,username,password) ;

INSERT INTO `VOUCHER`(`VOUCHER_CODE`, `USER_USERNAME`, `VOUCER_STATUS`, `VOUCHER_EXPIRY`)
VALUES((SELECT CONCAT('TRVL',ROUND(RAND()*1000000))),username,1,(SELECT NOW() + INTERVAL 48 HOUR) ) ;

SELECT * FROM USER WHERE USER_USERNAME = username ;

END IF;

END

然后我使用 PDO 调用我的程序:

$regis = $this->pdo->query('call user_regis(a,a,a,a,a)');
if($regis->fetchColumn > 0){ echo "hai" ; }

但我收到一个错误:

Fatal error: Uncaught PDOException: SQLSTATE[HY000]: General error in

有人可以解释一下为什么吗?感谢您的帮助

最佳答案

根据我们在评论中的对话,我认为您应该移动 SELECT低于END IF行,因此无论 IF 是否存在,它都会执行条件满足。

您还必须向存储过程提供任何所需的参数。

关于php - 使用 PDO 调用 mysql 过程出现一般错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41436849/

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