PHP प्लेसहोल्डर्स को स्ट्रिंग्स के अंदर, यानी कोट्स के भीतर प्रतिस्थापित नहीं करेगा। जैसे:
$criteria->addCondition('col = :app'); // param can be replaced
$criteria->addCondition('col = ":app"'); // param can't be replaced
इसलिए हमें mysql के CONCAT() वास्तव में स्वयं स्ट्रिंग प्रदान करने के बजाय, regexp के लिए स्ट्रिंग उत्पन्न करने के लिए कार्य करता है, जैसे:
$criteria->addCondition('col regexp CONCAT("[[:<:]]", :app, "[[:>:]]")');
या, पूरे रेगेक्स को ही बांधें:
$criteria->addCondition('col regexp :regexp');
$criteria->params = array(':regexp'=>'[[:<:]]'.$app.'[[:>:]]');