Построитель запросов Codeigniter, использующий MySQL REGEXP с границами слов, добавляет дополнительные пробелыPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Построитель запросов Codeigniter, использующий MySQL REGEXP с границами слов, добавляет дополнительные пробелы

Сообщение Anonymous »

Что касается этой проблемы, мне бы очень хотелось по возможности избегать изменения основных файлов, поэтому обходной путь был бы чрезвычайно полезен.
REGEXP достаточно легко работает с классом построителя запросовwhere(), но использование границ слов нарушает его, добавляя дополнительные пробелы.

Код: Выделить всё

function search($searchQuery){
$sq = '[[::]]';
$this->db->select('column');
$this->db->from('table');
$this->db->where('LOWER(otherColumn) REGEXP', $sq);
echo $this->db->get_compiled_select();
}

search('billy');
Ожидаемый результат:

SELECT столбец FROM table WHERE LOWER(otherColumn) REGEXP
'[[::]]';

Фактический результат:

ВЫБРАТЬ столбец FROM table WHERE LOWER(otherColumn) REGEXP
[[: < :]]billy[[:>:]]';

Это такая специфическая проблема с конкретным стеком, и я не нашел никого, кто сталкивался бы с такой же проблемой. Я пробовал экранировать двоеточия,

Подробнее здесь: https://stackoverflow.com/questions/432 ... ds-extra-s
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»