PHPは、文字列内、つまり引用符内のプレースホルダーを置き換えません。のように:
$criteria->addCondition('col = :app'); // param can be replaced
$criteria->addCondition('col = ":app"'); // param can't be replaced
したがって、mysqlの CONCAT() 次のように、文字列を自分で提供するのではなく、実際に正規表現の文字列を生成する関数:
$criteria->addCondition('col regexp CONCAT("[[:<:]]", :app, "[[:>:]]")');
または、正規表現全体をバインドします:
$criteria->addCondition('col regexp :regexp');
$criteria->params = array(':regexp'=>'[[:<:]]'.$app.'[[:>:]]');