U moet het scheidingsteken van de trigger verwijderen terwijl u het uitvoert via PHP.mysql_ of mysqli_-functies zouden de trigger zonder het scheidingsteken moeten kunnen uitvoeren.
Hier is hoe het te doen.
$this->db->query("
CREATE TRIGGER `delete_post` BEFORE DELETE ON `posts`\r\n
FOR EACH ROW BEGIN\r\n
DELETE FROM page_content WHERE page_content.post_id = OLD.post_id;\r\n
END\r\n
//\r\n
");