It first start execution ! and then if it finds errors in subsequent queries it reports problems.
update t set f = 1; update t set f=2; where f1 = 'foo'
note semicolon in second query
executing query 1 of 3 ...
then it executes query 1 and then report error in syntay.
Warning , did not check, but could execute query 2 up to semicolon and create damage, so please check that.