Как извлечь значения из строки, например дерева синтаксиса? [Дубликат]

$result = mysql_query('SELECT * FROM Users WHERE UserName LIKE $username');

Вы определяете строку, используя одинарные кавычки, и PHP не анализирует строки с разделителями одиночной кавычки. Чтобы получить переменную интерполяцию, вам нужно использовать двойные кавычки или конкатенацию строк (или их комбинацию). См. http://php.net/manual/en/language.types.string.php для получения дополнительной информации.

Также вы должны проверить, что mysql_query вернул действительный ресурс результата, иначе fetch_ *, num_rows и т. д. не будут работать с результатом, поскольку это не результат! IE:

$username = $_POST['username'];
$password = $_POST['password'];
$result = mysql_query('SELECT * FROM Users WHERE UserName LIKE $username');

if( $result === FALSE ) {
   trigger_error('Query failed returning error: '. mysql_error(),E_USER_ERROR);
} else {
   while( $row = mysql_fetch_array($result) ) {
      echo $row['username'];
   }
}

http://us.php.net/manual/en/function.mysql-query.php для получения дополнительной информации.

174
задан Kevin Guan 8 November 2015 в 07:00
поделиться

4 ответа

Очень просто:

import json
j = json.loads('{"one" : "1", "two" : "2", "three" : "3"}')
print j['two']
333
ответ дан John Giotta 24 August 2018 в 06:08
поделиться

Для URL или FIle используйте json.load (). Для строки, содержащей контент .json, используйте json.loads ().

#! /usr/bin/python

import json
from pprint import pprint

#json_file='a.json' 
json_file='my_cube.json'
cube='1'

json_data=open(json_file)
data = json.load(json_data)
#pprint(data)
json_data.close()

print "Dimension: ", data['cubes'][cube]['dim']
print "Measures:  ", data['cubes'][cube]['meas']
31
ответ дан Genghis Khan 24 August 2018 в 06:08
поделиться

Ниже приведен простой пример, который может вам помочь:

json_string = """
{
    "pk": 1, 
    "fa": "cc.ee", 
    "fb": {
        "fc": "", 
        "fd_id": "12345"
    }
}"""

import json
data = json.loads(json_string)
if data["fa"] == "cc.ee":
    data["fb"]["new_key"] = "cc.ee was present!"

print json.dumps(data)

Выход для вышеуказанного кода будет:

{"pk": 1, "fb": {"new_key": "cc.ee was present!", "fd_id": "12345", 
 "fc": ""}, "fa": "cc.ee"}

Обратите внимание, что вы можете установить аргумент ident дамп распечатать его так (например, при использовании print json.dumps (data, indent = 4)):

{
    "pk": 1, 
    "fb": {
        "new_key": "cc.ee was present!", 
        "fd_id": "12345", 
        "fc": ""
    }, 
    "fa": "cc.ee"
}
20
ответ дан Guy Avraham 24 August 2018 в 06:08
поделиться

Иногда ваш json не является строкой. Например, если вы получаете json из url, например:

j = urllib2.urlopen('http://site.com/data.json')

, вам нужно будет использовать json.load, а не json.loads:

j_obj = json.load(j)

(it легко забыть: 's' для 'string')

67
ответ дан jisaacstone 24 August 2018 в 06:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: