@ComPUCKter
Web-разработчик

Как сделать 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';
      }
  • Вопрос задан
  • 142 просмотра
Решения вопроса 1
FanatPHP
@FanatPHP
Чебуратор тега РНР
$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. Есть еще другие методы
Ответ написан
Ваш ответ на вопрос

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

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