REGEXP Query не работает должным образом с переменной - PullRequest
0 голосов
/ 18 сентября 2019

У меня есть проблема, чтобы применить запрос Codeigniter к коду, вставленному в базу данных с помощью jquery, мне нужны только буквенно-цифровые символы.

Я использовал REGEXP для очистки символов, которые мне не нужны, запрос работает, если я набираю символы непосредственно в запросе, но не работает, если я использую переменную из другого запроса.

<?php    
    $this->db->select('niv');
    $this->db->from('tbl_notes');
    $this->db->where('notes_id', $notes_id);
    $query = $this->db->get();
    if($query->num_rows()){
        $niv = $query->result();
    }
    $this->db->select('*');
    $this->db->from('tbl_flotilla_history');
    $this->db->where('notes REGEXP ', "'.*;s:[0-9]+:\"$niv\".*'", false); 
    $this->db->limit(10);
    $query = $this->db->get();
    if($query->num_rows()){
        $history = $query->result();
    }
?>

Результат запроса пуст, когда я помещаю переменную $ niv в другой запрос

Как я могу решить эту проблему?

С уважением

1 Ответ

0 голосов
/ 19 сентября 2019

Попробуйте это:

<?php
    $history = NULL;
    $this->db->select('niv');
    $this->db->from('tbl_notes');
    $this->db->where('notes_id', $notes_id);
    $query = $this->db->get();
    if($query->num_rows()) $niv = $query->result();
    $this->db->select('*');
    $this->db->from('tbl_flotilla_history');
    $this->db->where('notes REGEXP ', '".*;s:[0-9]+:\"'.$niv.'\".*"', false);
    $this->db->limit(10);
    $query = $this->db->get();
    if($query->num_rows()) $history = $query->result();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...