PHP nie zastąpi znaków zastępczych wewnątrz łańcuchów, tj. w cudzysłowie. Jak w:
$criteria->addCondition('col = :app'); // param can be replaced
$criteria->addCondition('col = ":app"'); // param can't be replaced
Dlatego musimy użyć CONCAT() funkcja do wygenerowania łańcucha dla wyrażenia regularnego, zamiast samodzielnego dostarczania łańcucha, na przykład:
$criteria->addCondition('col regexp CONCAT("[[:<:]]", :app, "[[:>:]]")');
LUB powiąż całe wyrażenie regularne:
$criteria->addCondition('col regexp :regexp');
$criteria->params = array(':regexp'=>'[[:<:]]'.$app.'[[:>:]]');