sql >> Databáze >  >> RDS >> Mysql

Parametry CDbCriteria s třídami regex znaků

PHP nenahradí zástupné symboly uvnitř řetězců, tedy v uvozovkách. Jako v:

$criteria->addCondition('col = :app'); // param can be replaced
$criteria->addCondition('col = ":app"'); // param can't be replaced

Proto musíme použít mysql CONCAT() funkce, která skutečně vygeneruje řetězec pro regulární výraz, místo toho, abychom řetězec poskytli sami, například takto:

$criteria->addCondition('col regexp CONCAT("[[:<:]]", :app, "[[:>:]]")');

NEBO svažte celý regulární výraz:

$criteria->addCondition('col regexp :regexp');
$criteria->params = array(':regexp'=>'[[:<:]]'.$app.'[[:>:]]');



  1. Uložit arabský text do databáze MySQL

  2. ORA-16205 Upgrade na 11.2.0.3

  3. Migrujte mySQL na Firebase

  4. Vypsat všechny cizí klíče PostgreSQL