MySQL的PDO异常创建函数:: SQLSTATE [42000]:语法错误或访问冲突

I'm trying to create mysql function through PDO execute statement, but it is giving below error

SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DELIMITER $$ CREATE FUNCTION diff_func (DATE_STR VARCHAR(255),COMP_DATE' at line 1

Code:

DELIMITER $$

CREATE FUNCTION `diff_func` (`DATE_STR` VARCHAR(255),`COMP_DATE` DATETIME,`AGO` INT(11)) RETURNS VARCHAR(255) DETERMINISTIC CONTAINS SQL SQL SECURITY DEFINER 
    BEGIN
        DECLARE COMPARE_WITH DATETIME DEFAULT UTC_TIMESTAMP;
        DECLARE AGO_STRING VARCHAR(255) DEFAULT NULL;
        DECLARE DIFF_STRING VARCHAR(255) DEFAULT NULL;
        DECLARE DIFFERENCE_VAL VARCHAR(255) DEFAULT 0;
        DECLARE RETURN_STRING VARCHAR(255) DEFAULT NULL;

        SET RETURN_STRING = '';
        RETURN RETURN_STRING;
END$$
DELIMITER ;