Выбрать слово из строки в зависимости от условий - PullRequest
0 голосов
/ 03 августа 2020

Я сейчас пытаюсь выбрать конкретное c слово из строки в зависимости от окружающих условий. В частности, я хотел бы выбрать слово из запроса MySQL.

Например:

  1. Выберите слово / слова, окруженные тильдами (`): Я - `яблоко` -> яблоко;
  2. ВЫБЕРИТЕ` данные` ИЗ `tableName` -> data -OR- {" data "," tableName "}; (Мне в основном нужно выводить «данные», но я могу обойтись, если мне нужно выбрать все в тильдах.)

У меня есть функция запроса, которая в настоящее время требует 2 параметра (чтобы упростить хранить значения базы данных в переменных).

function MysqlQuery($query, $find)
{
    $query = MysqlQueryWild($query);
    $fetch = $query->fetch_array();
    // Used to run a standard select query.
    return $fetch[$find];
}

Я хотел бы сократить его до одного параметра, запроса и автоматического выбора столбца в функции с помощью вышеуказанного метода.

Ближайшее, что я получил, было следующее:

function MysqliQuery($query)
{
    preg_match('"([^\\`]+)"', $query, $result);
    $query = MysqlQueryWild($query);
    $fetch = $query->fetch_array();
    // Used to run a standard select query.
    return $fetch[$result[0]];
}

Но он выбирает слово «SELECT», которое НЕ заключено в тильды.

1 Ответ

0 голосов
/ 03 августа 2020

В sql вы можете использовать ключевое слово «Like» для поиска записей с указанными условиями. % используется для представления символов 0-inf, а _ представляет 1 символ. Итак, для вашего примера это тот запрос выбора, который вам нужен.

SELECT 'data'

FROM 'table name'

WHERE 'имя столбца' LIKE '`%`' ;

Так что в вашем случае просто используйте этот запрос вместо того, чтобы пытаться получить все слова и вручную найти те, которые окружены тильдами

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...