I\'m executing the following in PHP5.3:
$sql = \"
CREATE TRIGGER `_photo_fulltext_insert` AFTER INSERT ON `photo` FOR EACH ROW INSERT INTO `_photo_fulltext`
While the mysqli doesn't to anything with DELIMITER in multi-query statements, it actually doesn't do anything with any delimiters at all in normal queries, so just shove your triggers in one by one:
$ cat i.php
query($sql);
var_dump($mysqli->error);
$ php i.php
string(0) ""
$ mysql
mysql> use test;
Database changed
mysql> show triggers\G
*************************** 1. row ***************************
Trigger: _foo_fulltext_update
Event: UPDATE
Table: foo
Statement: BEGIN
DELETE FROM `bar` WHERE `bar`=NEW.`bar`;
INSERT INTO `bar` (bar) SELECT bar FROM `foo` WHERE `bar`=NEW.`bar`;
END
Timing: AFTER
Created: NULL
sql_mode:
Definer: root@localhost
character_set_client: latin1
collation_connection: latin1_swedish_ci
Database Collation: utf8_general_ci
1 row in set (0.00 sec)