以下のようにMYSQLへSQL文を投げているのですが、実行されません

$sth = $db->prepare("update (select @i:=0) as dummy,Result set ResultID = @i:=@i+1");
$sth->execute;

同じプログラム内に書いた別のSQL文は実行されているのでMYSQLへの接続は出来ていると思います
また、同じSQL文を直接MYSQLへ与えた場合は問題なく実行されました
何が問題で実行されないんでしょうか