2015-11-27 4 views
1

Я изменил свой код за пару часов, и я просто не могу разобрать значение с android и использовать его в php, я всегда получаю JSONarray, который нельзя преобразовать в JSONobject.Получить SQL-результаты - JSONarray не может быть преобразован в JSONobject

<?php 

include 'config.php'; 

$con=mysql_connect("$servername", "$username", "$password")or die("cannot connect"); 
mysql_select_db("$dbname")or die("cannot select DB"); 

if(isset($_POST["json"])) { 

    $value = $_POST["json"]; 
    $decoded_value = json_decode($value); 

    $sql = "SELECT * from table WHERE Code = '".$decoded_value->{'msg'}."'"; 
    $result = mysql_query($sql); 
    $json = array(); 

    if(mysql_num_rows($result)){ 
     while($row=mysql_fetch_assoc($result)){ 
     $json['myarray'][]=$row; 
     } 
    } 

mysql_close($con); 
echo json_encode($json); 

} 
?> 
+0

Является ли это функцией mysql_ *, которую я вижу. –

ответ

1
json_encode($json, JSON_FORCE_OBJECT) 

Функция json_encode имеет несколько параметров, которые вы можете пройти для того, чтобы изменить способ кодирования (check it out here). В вашем случае существует возможность заставить кодировку быть в виде объекта, а не по умолчанию для любого массива или объекта.

+0

Хотя этот код может ответить на вопрос, было бы лучше объяснить, как он решает проблему и почему ее использовать. Ответы только на код не полезны в долгосрочной перспективе. –

+0

@TobiasLiefke - хороший звонок. Измененный. –

Смежные вопросы