Перейти к содержанию
Dv2

[Решено]Правильный запрос в БД

Рекомендуемые сообщения

Пожалуйста, помогите сделать правильный запрос. Необходимо вытянуть из бд значение ячейки stasus.

status имеет тип данных tinyint(1)

На сколько я знаю tinyint(1) должен позвращать, в opencart, по умолчанию или 0 или 1.

При попытке сравнить с int или boolean, для дальнейшего использования в конструкции if... пишет такое:

 PHP Notice:  Object of class stdClass could not be converted to int in C:\OpenServer......

    if (isset($_POST["switched"]){
    $query_db = $this->db->query("SELECT status FROM " . DB_PREFIX . "product WHERE product_id = '" . (int)$product_id . "'");
        if ($query_db){
.....
        }else{
.....
        }
    }

Заранее благодарен, предположения приветсвуются.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Насчет tinyint. Это не булев тип (подробнее: документация MySQL).
$query_db возвращает объект, где есть свойства с данными: row - выборка одной стоки из запроса, rows - все строки и num_rows - кол-во выбранных строк (число). Поэтому, по-моему, правильнее всего будет в вашем условии написать:

if ($query_db->row['status']) {}
  • +1 2

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо, всё работает. А как вы узнали что там лежит объект?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Наверное по фразе PHP Notice:  Object of class stdClass :-)

  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Наверное по фразе PHP Notice:  Object of class stdClass :-)

Вот так вот и пишем модуль :-)  Спасибо вам большое!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.