2015-06-26 2 views
-4

Я ищу PHP-код для чтения объекта JSON (который я собираюсь загрузить с помощью Android в url), а также хочу, чтобы функция php вставляла данные в мой db. Может кто-нибудь, пожалуйста, помогите мне? Это мой JSON объектPHP-код для READ JSON

{ 
"id": "mID", 
"description": "des", 
"stars": "mStars", 
"name": "avatar", 
"year": "mYear", 
"rating": "mRating", 
"director": "mDirector" 
"url": "www.dummy.com" 
} 

это мой PHP код

$app->post(
    '/post/', 
    function() use ($app){ 
     echo 'This is a POST route'; 
     $json = $app->request->getBody(); 
     $data = json_decode($json, true); 
     echo $data['name']; 
     echo $data['id']; 
     echo $data['description']; 
     echo $data['stars']; 
     echo $data['rating']; 
     echo $data['director']; 
     echo $data['url']; 
     echo $data['year']; 
     createMovie($data); 
    } 
); 
    The following code is in a separate file. I have similar files with select statements which are working perfectly fine. 

    <?php 
    function createMovie($data) { 
    $conn=getDB(); 
    if($stmt=$conn->prepare("$sql="INSERT INTO Movies (id,  name,description, director, year, rating, stars, url) 
VALUES ($data['id'],$data['name'],$data['description'],$data['director'],$data['year'],$data['rating'],$data['stars'],$data['url'])"; 
    { 
     $stmt->execute(); 
     $conn->close(); 
    }  
    } 
     ?> 

когда я типа www.example.com/post/ Я получаю Ошибка 404 не найден

+1

как насчет json_decode? –

+0

Единственный поиск «php json» в google ответил бы на ваш вопрос ... – arkascha

+0

Возможный дубликат [Parsing JSON file with PHP] (http://stackoverflow.com/questions/4343596/parsing-json-file-with -php) – rghome

ответ

2

Использование json_decode() так:

<?php 
$jsonData = '{ "user":"John", "age":22, "country":"United States" }'; 
$phpArray = json_decode($jsonData); 
print_r($phpArray); 
foreach ($phpArray as $key => $value) { 
    echo "<p>$key | $value</p>"; 
} 
?> 

Вот the link к официальной документации функции.

+1

Правильный ответ, однако вы должны добавить ссылку на документацию по функциям. И ... достаточно одного отладочного вывода, поэтому 'print_r()' :-) Больше только смущает и больше не помогает. – arkascha