2014-12-29 5 views
-1

Я разработал приложение для Android с базой данных Mysql. Я хотел бы, чтобы результат моего запроса sql отображался в переменной JSON в таблице. Если я использую один столбец моей таблицы «страна» ---> «id_country» или «name_en_country», он работает, но если я хочу отображать больше столбцов ---> «id_country» AND «name_en_country» И еще .. .. Результат Requet php отправит мне пустую страницу. Не могли бы вы помочь мне, пожалуйста, спасибо!PHP JSON result multiple empty

<?php 

// Create Database connection 
$mysqli = new mysqli("localhost", "root", "", "whenmeeat"); 
if (!$mysqli) { 
    printf("Échec de la connexion : %s\n", mysqli_connect_error()); 
} 

// Replace * in the query with the column names. 
$result = $mysqli->query("select id_country, name_en_country, name_fr_country from country", MYSQLI_USE_RESULT); 

// Create an array 
$json_response["country"] = array(); 

while ($row = $result->fetch_array(MYSQLI_ASSOC)) { 
    $row_array['id_country'] = $row['id_country']; 
    $row_array['name_en_country'] = $row['name_en_country']; 

    // push the values in the array 
    array_push($json_response["country"],$row_array); 
} 
echo json_encode($json_response["country"]); 

// Close the database connection 
$mysqli->close(); 

?> 
+3

Пустая страница обычно означает, что вы не настроили PHP для вывода сообщений об ошибках. Сначала вам нужно исправить это, а не пытаться угадать все время. –

+0

Если у меня есть ошибка php, у меня появляется страница с ошибкой. Я уже пытаюсь. –

+0

Тогда, возможно, вы просто получаете 'NULL'. Вы можете проверить, что с помощью 'var_dump (json_encode (...))' и (если это так) вы можете увидеть ошибку с помощью [json_last_error()] (http://php.net/json_last_error). У меня создается впечатление, что вы не используете функции JSON с надлежащим UTF-8. –

ответ

0

На примере установленного здесь json_encode() array in while loop for mySQL for calendar ваш код должен изменить так:

<?php 
// Create Database connection 
$mysqli = new mysqli("localhost", "root", "", "whenmeeat"); 
if (!$mysqli) { 
    printf("Échec de la connexion : %s\n", mysqli_connect_error()); 
} 

// Replace * in the query with the column names. 
$stmt = $mysqli->prepare("SELECT `id_country`, `name_en_country`, `name_fr_country` FROM `country`"); 
$stmt->execute(); 
$res = $stmt->get_result(); 
// Create an array 
$json = array(); 
while ($row = $res->fetch_assoc()) { 
      $country = array(
         'id_country' => $row['id_country'], 
         'name_en_country' => $row['name_en_country'], 
         'name_fr_country' => $row['name_fr_country'] 
        ); 
      $json[] = $country ; 
} 
echo json_encode($json); 
// Close the database connection 
$mysqli->close(); 
?> 
+0

привет я попробовал свой код и получил тот же результат, если я помещу один столбец для его отображения, но если я поместил больше столбца, у меня будет пустая страница. –

+0

Можете ли вы попробовать сейчас? –

+0

да я стараюсь. вы и скриншот? я могу, если вы хотите –