So I got a workaround which is to concatenate the query and the parameters so the pseudo code is
CREATE PROCEDURE `related_stories`(IN param1 VARCHAR(255), IN param2 VARCHAR(255), IN param3 VARCHAR(255), IN publishDate INT(11), IN tlimit INT(11))
BEGIN
SET @query =CONCAT( '
select s.* from
(
select * from
(
SELECT something where condition IN (',param1,')
) as table1
UNION ALL
select * from
(
SELECT something where condition IN (',param2,')
) as table2
UNION ALL
select * from
(
SELECT something where condition IN (',param3,')
) as table3
) as s
WHERE (s.publish_date < ',publishDate,')
GROUP BY id limit ',tlimit,';');
PREPARE stmtInsert FROM @query;
EXECUTE stmtInsert;
END
param1,param2,param3 are imploded arrays that is passed in via php e.g.('1,2,3,4'). Hope this helps someone
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…