Простой вопрос о операторе IF

#php

#php

Вопрос:

Мне просто интересно, как проверить, есть ли значение в столбце в таблице базы данных? Столбец назван star , и я хочу проверить, имеет ли он значение 1, если нет, то ничего не делайте.

 while($row01 = $res01->fetch_object()) {

    if ($res01->star[$row01] == 1) { ??????????

    }

}
  

Я использую этот ЦИКЛ WHILE для извлечения информации из таблицы о некоторых объектах. Для некоторых объектов у меня есть столбец с именем STAR, который равен 1 или НУЛЮ. Пока я создаю HTML-код в переменные I в этом цикле, я также проверяю, имеет ли объект 1 в столбце STAR, и если да, я создаю другую переменную с некоторым HTML-кодом для использования в списке всех объектов в таблице.

Но когда я использую if ($row01-> star == ‘1’), это не работает, и я не знаю почему!? Когда я использую это, получается, что да, у всех объектов есть 1, но только у нескольких есть 1, остальные имеют нулевое значение. Извините, но я должен отойти от компьютера на несколько часов, но я надеюсь решить это позже сегодня! Спасибо!

Комментарии:

1. Взгляните на руководство по правильной нотации: php.net/manual/en/mysqli-result . fetch-object.php Вам не нужно рассматривать его как индекс массива. Это объект.

2. Вам нужно показать код вашего запроса и образец информации в базе данных.

Ответ №1:

Закрыть, но вы неправильно ссылаетесь на столбец.

 if ($row01->star == 1) { /* do things */ }
  

Комментарии:

1. Спасибо, но это не работает! Это как будто я получаю «да» для всех строк в таблице?! У меня в полях либо 1, либо NULL, а тип — INT. Что может быть не так?

2. @3D-kreativ Я бы проверил, правильно ли вы получаете столбцы / таблицу. Используйте if($res01->num_rows), чтобы проверить, вернули ли вы что-нибудь.

3. Можете ли вы выполнить для нас print_r из $ row01?

4. @3D-kreativ Можете ли вы отредактировать свой пост с результатами? Попробуйте if($row01->star == ‘1’)