@ComPUCKter
Вечный ж..студент

Как сделать json в mysql пустым, чтобы rowCount возвращал 0?

Мне необходимо знать когда в json таблицы mysql нет никаких значений, поэтому я проверяю это через rowCount. Но после того, как в нем побывало какое-то значение и я его удаляю оттуда, там остается [] и теперь rowCount никогда не равен нулю. Что для этого нужно делать? Или может я совсем неправильно обращаюсь с json в mysql?

Скриншот таблицы в phpMyAdmin со значением []:
607b4141ab8f4257507843.png

Мой код, которым я пользуюсь для обращения с json в mysql
//Извлекаем json со списком подписчиков
      $query = $db->prepare(
         "SELECT `followers` FROM `users` WHERE `id`='$authorsID'"
      );
      $query->execute();
      $followers = null;

      //Если в строка пустая
      if ($query->rowCount() > 0) {
         $followers = (array) json_decode($query->fetch()[0]);

         //Если нажимающий кнопку не подписан на автора
         if (!in_array($followersID, $followers)) {
            $followers[$followersID] = $followersID;
            echo 'subscribed';

            //Если подписан
         } else {
            unset($followers[$followersID]);
            echo 'unsubscribed';
         }
         //Если json пустой(нет подписчиков)
      } else {
         $followers = [$followersID => $followersID];
         echo 'subscribed';
      }
  • Вопрос задан
  • 98 просмотров
Решения вопроса 1
FanatPHP
@FanatPHP
Чебуратор тега PHP
$query = $db->prepare("SELECT * FROM `followers` WHERE `author_id`=? AND follower_id=?");
$query->execute([$authorsID,$followersID]);


и о чудо! rowCount() внезапно работает!!!!

if ($query->rowCount() > 0) {
      echo 'subscribed';
} else {
      echo 'unsubscribed';
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
yupiter7575
@yupiter7575
Python программист
Я как понял вам надо проверить на пустоту массив? Хороший метод это isEmpty. Есть еще другие методы
Ответ написан
Ваш ответ на вопрос

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

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