я хочу преобразовать результат запроса mysql в формат json
Запрос возвращает много записей, но print_r json ничего не возвращает
$sql = "select concat(sig,doc)as Order,date,age from ordertable";
$res = $conn->query($sql);
while($row = $res->fetch_assoc())
{
$rows[] = $row;
}
$json = json_decode($rows, true);
fwrite($handle, "json: ".print_r($json,true)." \n\n");
Заменить $json = json_decode($rows, true); на $json = json_encode($rows, true);?
Вы перепутали кодирование и декодирование. Вам нужно json_encode() превратить массив в строку json.






Вам нужно изменить это ниже двух строк следующим образом:
$json = json_encode($rows); // to convert it into json internal array
//$json = json_encode($rows,JSON_FORCE_OBJECT); // to convert it json object
fwrite($handle, "json: $json \n\n");
Это должно сработать.
json_decodeпринимает строку в качестве аргумента, но вы отправляете массив. Возможно, вы ищете:fwrite($handle, "json: " . json_encode($rows) . " \n\n");