您好,我有問題關於PDO,我有一個MySQL的過程是這樣的:調用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
有人可以解釋我爲什麼嗎? 感謝您的幫助
看起來不像存儲過程返回任何東西,如果不符合'IF'條件。這可能是這種情況嗎? –
可以mysql返回零結果使pdo錯誤? @DanFarrell – Herdy
很難說,因爲你沒有提供一個完整的例子。我不確定。 –