nastya97core
@nastya97core
Начинающий программист

Почему $bd = $row[0] возвращает null, а просто $row[0] возвращает данные?

Здравствуйте. Очень как-то всё нелогично...
Ситуация такая. Я через cUrl получаю данные не со своего сервера и проверяю с данными на своём. Если есть изменения, то я записываю в свою БД эти записи. Если изменений нет, то я достаю предыдущую запись я отображаю изменения.
$stmt = $pdo->prepare('SELECT * FROM bd ORDER BY id DESC LIMIT 2;');
$stmt->execute();
$row = $stmt->fetchAll();

$data = json_encode($formData);
$ch = curl_init("https://local.server/api/personal/result?data=$data");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Accept: application/json']);
$result = curl_exec($ch);
if (curl_errno($ch)) $curlerror = 'Ошибка в запросе 2:' . curl_error($ch);
curl_close($ch);

$array = json_decode($result); // Декодируем ответ
$f_arr_person = $array->data; // Получаем статус обработки

for ($i = 0, $size2 = count($f_arr_person); $i < $size2; ++$i) { 
$f_str_person = implode("|", (array)$f_arr_person[$i]); 
}

if ($f_str_person != $row[0]['data']) {
    $sql = 'INSERT INTO bd (data) VALUES (:data)';
    $query = $pdo -> prepare($sql);
    $query -> execute(['data' => $f_str_person]);
    $bd_last = $row[0];
} else {
    $bd_last = $row[1];
}
$from["qqq"][] = ["Дата"=>$row[0]["Date"]];
$from["qqq"][] = $f_arr_person;
echo json_encode($from);


Так вот, когда я пытаюсь получить себе через ajax данные, то ПОЧЕМУ-ТО вот так не работает:
$from["qqq"][] = "Дата"=>$bd_last["Date"];
А вот так работает:
$from["qqq"][] = "Дата"=>$row[0]["Date"];

Я пыталась подсунуть переменную сюда: $row[0], но у меня тоже ничего не вышло...
  • Вопрос задан
  • 128 просмотров
Решения вопроса 1
nastya97core
@nastya97core Автор вопроса
Начинающий программист
была тупая ошибка. решено
$stmt = $pdo->prepare('SELECT * FROM bd ORDER BY id DESC LIMIT 2;');
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@AUser0
Чем больше знаю, тем лучше понимаю, как мало знаю.
Так у вас то $row[0]['data'], то $row[0]["Date"].
Для PHP - это две совершенно разные вещи.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы