2016-02-14 1 views
-1

Я хочу взять некоторые данные из моей базы данных mysql и передать их в массив json, чтобы я мог использовать его в своем приложении для Android.сделать массив json из данных mysql, используя php

Но до сих пор у меня возникли проблемы с получением любых данных из mysql db, когда я запускаю свой PHP-код в браузере для проверки вывода, я получаю пустой экран. Может кто-нибудь помочь?

КОД:

<?php 
$connection = mysqli_connect("localhost","testUser","root","EasyFridge") or die("error". mysqli_error($connection)); 
$sql = "select * from product"; 
$result = mysqli_query($connection, $sql); 
$emparray = array(); 
while($row = mysqli_fetch_assoc($result)){ 
    $emparray[] = array("product" => $row); 
} 
echo json_encode($emparray); 
mysqli_close($connection); 
?> 
+0

Попробуйте использовать 'mysqli_connect_error()' вместо 'mysqli_error ($ соединение)' –

+0

Проблема не в соединении, а в массиве json. Кажется, я не могу получить все строки из db в массиве. – Lasse

+0

проверить на наличие ошибок php с 'error_reporting (E_ALL);'. –

ответ

0

Я предлагаю вам взглянуть на журнал ошибок PHP. Весьма вероятно, что сценарий превысил максимальную доступную память. Если да, то вы можете попробовать следующие действия:

  • Увеличение максимальной памяти в файле php.ini, установив параметр memory_limit или вызвать в коде ini_set('memory_limit', '2048M');;
  • Перерыв ваших данных на страницы с более подходящим количеством возвращаемых объектов.
+0

Но какая помощь в том, что, если я не знаю, как это исправить? – Lasse

+1

@ Lasse, я обновил свой ответ с возможными решениями, выходящими за пределы проблемы с памятью. – max

+0

Спасибо, но это было unurtunetly не решить мою проблему, все еще пустую страницу ... Но спасибо в любом случае – Lasse

0

UPDATE:

Нашли ошибку, пропускал декодирования кодировок заявление, так что просто добавил:

<?php 
    //open connection to mysql db 
    $connection = mysqli_connect("localhost","testUser","root", "EasyFridge") or die("Error " . mysqli_error($connection)); 

    //fetch table rows from mysql db 
    $sql = "SELECT * FROM product"; 
    mysqli_set_charset($connection, "utf8"); //ADDED THIS LINE!! 
    $result = mysqli_query($connection, $sql) or die("Error in Selecting " . mysqli_error($connection)); 
    error_reporting(E_ALL); 
    $returnarray = array(); 
    //create an array 
      while($row = mysqli_fetch_array($result, MYSQL_ASSOC)) 
       { 
       //$emparray[] = $row[]; 
       $emparray['id'] = $row['id']; 
       $emparray['name'] = $row['name']; 
       $emparray['placement_date'] = $row['placement_date']; 
       $emparray['removal_date'] = $row['removal_date']; 
       $emparray['type'] = $row['type']; 

       array_push($returnarray, $emparray); 
       } 
       //var_dump($returnarray); 
       echo json_encode($returnarray); 
    //close the db connection 
    mysqli_close($connection); 
?> 
Смежные вопросы