i don't see anything different in what you're doing, then what i'm finding.
Code:
DELIMITER \\
CREATE PROCEDURE clientlist (
pcuser INT,
istatus INT
)
BEGIN
DECLARE _status VARCHAR (50);
IF istatus = 5 THEN
SET _status = 'AND visitors.status<>5';
ELSE
SET _status = 'AND visitors.status=1';
END IF
SET @strSQL = CONCAT('SELECT visitorref,forename,surname,clientstatus.status FROM visitors,clientstatus WHERE visitors.status=clientstatus.statusref ',_status);
PREPARE stmt1 FROM @strSQL;
EXECUTE stmt1;
DEALLOCATE PREPARE stmt1;
END \\
DELIMITER ;
to use it, just
Code:
CALL clientlist('pc_user',5)
at least that's all it is according the mySQL manual.
Bookmarks