Удаление одинарных кавычек при получении данных с помощью php mysqli SELECT

Я получаю некоторые записи базы данных с помощью php mysqli SELECT.

Некоторые записи содержат одну кавычку (например: L'avant du bâtiment). Это генерирует ошибку синтаксического анализа и ломает мою веб-страницу.

Вот запрос:

$themes = ee()->db->select('field_id_46')
    ->from('channel_data_field_46')
    ->get();

if ($themes->num_rows() > 0)
{
    foreach($themes->result_array() as $row)
    {
    $themesConcat = $row['field_id_46'];
    echo $themesConcat;
    }
}

Как избавиться от кавычек в полях field_id_46?

Обратите внимание, что класс db принадлежит ядру ExpressionEngine CMS и его нельзя изменять.


person lydie_t    schedule 28.09.2018    source источник
comment
Где это вызывает ошибку синтаксического анализа? Похоже, вы неправильно экранируете данные во всем, что использует результат.   -  person Barmar    schedule 28.09.2018
comment
Если вы избавитесь от кавычек, это будет уже другой французский текст.   -  person Barmar    schedule 28.09.2018


Ответы (2)


Вы можете использовать функцию str_replace() для замены символов.

Модифицированный код как:

echo str_replace("'", "", $themesConcat);

Надеюсь, это поможет вам.

person Jyotsna Desai    schedule 28.09.2018
comment
Иль работал. Спасибо ! Проблема, наконец, немного отличалась от описанной выше. Но ваша информация помогла мне найти решение. - person lydie_t; 28.09.2018

Вам нужно сбежать от персонажа. Вы можете сделать это с помощью метода php addlashes следующим образом:

echo addslashes($themesConcat);
person Amadej Kastelic    schedule 28.09.2018