Массив $response пуст после команды array_push, и я не знаю почему. Я проверил, заполнен ли массив $product, и он был.
if (mysqli_num_rows($result) > 0) {
$response = array();
$result = mysqli_fetch_array($result,MYSQLI_ASSOC);
$product = array();
$product[name] = $result['name'];
$product[inn] = $result['inn'];
$product[analgetikagroup] = $result['analgetikagroup'];
$product[wholevel] = $result['wholevel'];
$product[dailydose] = $result['dailydose'];
$product[contraindication] = $result['contraindication'];
$product[sideeffect] = $result['sideeffect'];
$product[gastricprotection] = $result['gastricprotection'];
$response[success] = 1;
$response[product] = array();
array_push($response[product],$product);
echo json_encode($response);






Он не пустой - может, вы не заходите внутрь «если». Если я уберу "если", это сработает
php >
php > $product = array();
php > $product[name] = $result['name'];
php > $product[inn] = $result['inn'];
php > $product[analgetikagroup] = $result['analgetikagroup'];
php > $product[wholevel] = $result['wholevel'];
php > $product[dailydose] = $result['dailydose'];
php > $product[contraindication] = $result['contraindication'];
php > $product[sideeffect] = $result['sideeffect'];
php > $product[gastricprotection] = $result['gastricprotection'];
php > $response[success] = 1;
php > $response[product] = array();
php > array_push($response[product],$product);
php >
php >
php >
php > echo json_encode($response);
{"success":1,"product":[{"name":null,"inn":null,"analgetikagroup":null,"wholevel":null,"dailydose":null,"contraindication":null,"sideeffect":null,"gastricprotection":null}]}
php >
Нет, это тоже не работает. В вашем примере переменные null. Если я не заполняю массив данными из БД, он работает, и я получаю законный ответ json, но если массив заполнен, я ничего не получаю.
Я нашел решение в другой статье, но спасибо за вашу попытку помочь мне решить эту проблему :) PS: Я бы дал вам проголосовать, но моя репутация слишком низкая, чтобы голосовать за ответы
Вверху вашего скрипта поместите
error_reporting(E_ALL);, а затем, пока вы исправляете все остальное, что не так с вашим кодом, вы обнаружите конкретную ошибку, которая вызывает у вас проблемы.