Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

रेगेक्स कैरेक्टर क्लासेस के साथ सीडीबीक्राइटेरिया पैरामीटर

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.'[[:>:]]');



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP एकाधिक ऑब्जेक्ट फ़ंक्शन कॉल

  2. हाइबरनेट + डुप्लीकेट कुंजी तर्क पर

  3. enctype=अरबी भाषा के साथ मल्टीपार्ट/फॉर्म-डेटा का उपयोग करना

  4. MySQL में किसी दिए गए सबस्ट्रिंग की अंतिम अनुक्रमणिका

  5. जावा/जीडब्ल्यूटी/माईएसक्यूएल:कनेक्शन से इनकार कर दिया?