MYSQL SELECT и JSON_ENCODE - PullRequest
       2

MYSQL SELECT и JSON_ENCODE

0 голосов
/ 08 июня 2011

Мне нужно выбрать ключ из массива json_encodED из mysql ..

SELECT * FROM json_field_table WHERE {var from JSON encoded array} = {expected value}

или что-то .. Как я могу это сделать?

PS: плохой английский, я знаю ..

Ответы [ 3 ]

3 голосов
/ 08 июня 2011

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

SELECT ... WHERE the_json_field LIKE '%"var":"value"%';
0 голосов
/ 30 июля 2013

с числами (целыми числами) вы можете отфильтровывать значения, с алфавитно-цифровыми строками сложнее, так как сохраненное значение «jsonencoded»

проверьте мой ответ на 17955206

0 голосов
/ 08 июня 2011

Ну, Габриэль, несмотря на характер вашего вопроса.Я полагаю, ваша проблема может заключаться в том, что вам нужно прочитать значение JSON и, основываясь на этих значениях, вам необходимо извлечь набор записей из таблицы.Если это так, вот ваше решение.

// A sample json string
$json = '{ "field1": "value1", "field2": "value2" }'; 

// Here we will convert the json string into readable assocative array
$json_array = json_decode($json,true); 

//Next we will use it on a query
$query = "SELECT * json_field_table WHERE `".$json_array['field1']."` = 'Some Value' ";

//Execute the query
$result = mysql_query($query);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...