Mysql
 sql >> база данни >  >> RDS >> Mysql

Параметри на CDbCriteria с класове символи на регулярен израз

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. Съхраняване на информация за времето:Необходима ли е часова зона?

  2. Mysql Еквивалент на php metaphone и soundex

  3. Предотвратете дублиране на записи в таблица с помощта на PHP

  4. MySQL Търсене с подредени заместващи символи и извличане на техните стойности

  5. MySQL ODBC Link не успее поради отказа на протокола за удостоверяване