sql >> Database >  >> RDS >> Mysql

CDbCriteria-parameters met regex-tekenklassen

PHP vervangt geen tijdelijke aanduidingen binnen strings, d.w.z. tussen aanhalingstekens. Zoals in:

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

Daarom moeten we mysql's CONCAT() functie om de tekenreeks voor regexp daadwerkelijk te genereren, in plaats van zelf de tekenreeks te leveren, zoals:

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

OF, bind de hele regex zelf:

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



  1. Oracle 21c verbinden met SQL Server

  2. Wat is het beste na VARCHAR(255)

  3. Is er een manier om MySQL in het geheugen uit te voeren voor JUnit-testcases?

  4. MySQL-standaardwaarde op basis van weergave