Я пытаюсь json_encode получить следующие результаты mysqli. Моя проблема заключается в том, что после добавления каждой строки в мой массив я не могу выполнить 'echo json_encode' мой массив, но я могу print_r массив. Если я добавлю ограничение к этому конкретному запросу, тогда работает echo json_encode, но этот предел равен 313. Я думал, что это указывает на проблему с ограничениями памяти php, но после изменения моего memory_limit на 256M я все же могу вернуть только то же количество данных. Я попытался найти похожие проблемы, но ничего не было достаточно близко к проблеме, с которой я столкнулся. Весь мой PHP-скрипт вставлен ниже. Любые советы приветствуются.print_r, показывая содержимое массива, но echo json_encode не
<?php
if(isset($_GET["table"])){
// Open db connection
require "opendb.php";
/*** $table = assay ***/
$table = $_GET["table"];
$query = "SELECT * FROM invitrodb_v1.{$table}";
// Store results from query
$data = mysqli_query($conn, $query);
$table_row = array();
while($row = mysqli_fetch_array($data)){
$table_row[] = $row;
}
/**
*
*print_r displays array contents
*echo json_encode does not
*
**/
//echo json_encode($table_row);
//print_r($table_row);
// Close db connection
require "closedb.php";
}
//***342 rows returned with the assay table when not limited***//
?>
Редактировать: Это пример того, что я возвращаю. Для этой конкретной таблицы есть 342 строки, которые похожи на это..fyi это данные из общедоступной базы данных, найденной здесь http://www.epa.gov/ncct/toxcast/data.html (в случае, если кому-то интересно).
{
"aid": "1",
"asid": "1",
"assay_name": "ACEA_T47D",
"assay_desc": "ACEA_T47D is a cell-based single readout assay using T47D human breast cell line at 80 hours in a 96-well plate.",
"timepoint_hr": "80",
"organism_id": "9606",
"organism": "human",
"tissue": "breast",
"cell_format": "cell line",
"cell_free_component_source": "NA",
"cell_short_name": "T47D",
"cell_growth_mode": "adherent",
"assay_footprint": "microplate: 96-well plate",
"assay_format_type": "cell-based",
"assay_format_type_sub": "cell-based format",
"content_readout_type": "simple",
"dilution_solvent": "DMSO",
"dilution_solvent_percent_max": "0.5"
}
вы получаете какие-либо ошибки? Добавьте отчет об ошибках в начало файла (ов) сразу после открытия ' Php' tag' error_reporting (E_ALL); ini_set ('display_errors', 1); ' –
@JayBlanchard Я не получаю никаких ошибок после добавления этого. Результаты все те же. –
'var_dump (json_encode ($ table_row));' – AbraCadaver