PHP sẽ không thay thế trình giữ chỗ bên trong chuỗi, tức là trong dấu ngoặc kép. Như trong:
$criteria->addCondition('col = :app'); // param can be replaced
$criteria->addCondition('col = ":app"'); // param can't be replaced
Do đó, chúng tôi cần sử dụng CONCAT () để thực sự tạo chuỗi cho regexp, thay vì tự cung cấp chuỗi, như sau:
$criteria->addCondition('col regexp CONCAT("[[:<:]]", :app, "[[:>:]]")');
HOẶC, tự ràng buộc toàn bộ regex:
$criteria->addCondition('col regexp :regexp');
$criteria->params = array(':regexp'=>'[[:<:]]'.$app.'[[:>:]]');