m0pfin
@m0pfin

Не записывает значение в MySQL?

Код запускается кроном каждые 30 минут:
КОД
<?php
/**
 * Created by PhpStorm.
 * User: igrek
 * Date: 03.12.2018
 * Time: 2:08
 */
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Expires: " . date("r"));

include '../partials/db.php';
require '../vendor/autoload.php'; //Подключаем библиотеку
use Telegram\Bot\Api;

/*
* Подтягиваем данные с гугл таблицы и отсылаем в телеграмм об изменениях
*/

$telegram = new Api('TOKEN'); //Устанавливаем токен, полученный у BotFather

$query = mysqli_query($db, "SELECT * FROM new_offer");

while ($result = mysqli_fetch_array($query)) {

    if ($result['google_num'] != 0) {
        /*
         * Google таблица
        */
        $client = new \Google_Client();
        $client->setApplicationName('Managment');
        $client->setScopes([\Google_Service_Sheets::SPREADSHEETS]);
        $client->setAccessType('offline');

        $client->setAuthConfig('./managment.json');

        $service = new \Google_Service_Sheets($client);

        $spreadsheetId = 'TOKEN';


        $range = '1 - потенциальные офферы!M' . $result['google_num'] . ':N' . $result['google_num'];
        $response = $service->spreadsheets_values->get($spreadsheetId, $range);
        $info = $response->getValues();

        $status_manage = $info[0][0];
        $name_manage = '('.$info[0][1].')';
        
        

        if($result['google_status'] != $status_manage){

            mysqli_query($db, "UPDATE `new_offer` SET `google_status`='".$status_manage."',`google_name`='".$name_manage."' WHERE `id`='".$result['id']."'");
            
            echo $status_manage.' '.$name_manage.' '.$result['id'].'<br>';

            $reply = "Оффер: ".$result['name'].
                "\nПредыдущий статус: ".$result['google_status'].
                "\nСтатус обновлен: $status_manage $name_manage";
            $telegram->sendMessage([ 'chat_id' => $chat_id, 'parse_mode' => 'HTML', 'text' => $reply ]);
        }
    }
}
/*
 * Google таблица END
*/
?>



Скрипт отслеживает изменения в таблице Гугла, и записывает их в базу UPDATE

Заметил что последние две добавленные записи, не UPDATятся. Если изменить запись до этих двух записей то UPDATE делает везде и всё вроде бы ок, но это только если я заапдейтил запись до этих двух записей, все новые записи теперь не адпдейтит -_-

Вот эти ячейки уже не апдейтит:
v29O9O7U3M3nar.jpg


P.S. Надеюсь нормально объяснил
  • Вопрос задан
  • 69 просмотров
Решения вопроса 1
Запустите скрипт вручную с выводом отладочной информации и посмотрите, что происходит.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы