我有以下存儲過程:MySQL的存儲過程只返回一個選擇查詢
CREATE PROCEDURE `Get_Events_And_Deadlines_By_User`(IN `intervalStart` INT, IN `intervalEnd` INT)
BEGIN
IF (intervalStart != 0 AND intervalEnd != 0) THEN
SELECT 1 AS `test`;
ELSEIF (intervalStart != 0 AND intervalEnd = 0) THEN
BEGIN
SELECT 2 AS `test`;
IF ((SELECT FOUND_ROWS())=1) THEN
SELECT 3 AS `test`;
END IF;
END;
ELSE
SELECT 4 AS `test`;
END IF;
END
當我運行call Get_Events_And_Deadlines_By_User(1,0)
我只能獲得結果是該選擇查詢,選擇裏面的if語句從未返回。看起來在存儲過程返回之前,只有遇到的第一個選擇查詢正在執行。爲什麼是這樣?我能做些什麼來解決這個問題?我希望if語句中的select查詢是if語句的唯一結果。
你可以發佈你的PHP代碼嗎?該過程返回多個結果集在2個選擇和你的代碼需要環通不僅記錄每個結果集,但通的多個結果 – vmachan
@vmachan我實際上沒有任何PHP代碼,現在,我只去過在phpmyadmin中進行測試,並從第一個查詢(在'if'語句之前)只獲取一個結果集。 –
更改:IF((SELECT FOUND_ROWS())== 1)THEN' by IF((SELECT FOUND_ROWS())= 1)THEN'。 – wchiquito