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

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

Здравствуйте, вопрос заключается в том, как использовать в запросах в бд переменные(извиняюсь если ошибся в именовании) вида 
'" . (int)$category_id . "'
Насколько я понимаю, судя по другим запросам, эта переменная является id категории в которой мы будем находиться в последующем в каталоге.
Мне нужно использовать такой же принцип для своего запроса, сейчас при использовании я получаю ошибку, что переменная не определена.

Собственно помогите пожалуйста разобраться, как используются такие переменные, где их необходимо определить, чтобы использовать в запросах в моделях opencart'a

 

часть запроса, где используется подобный принцип:
WHERE p.product_id = '" . (int)$product_id . "'

 

p.s. - извиняюсь если ошибся в терминах.

Изменено пользователем Karpig

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


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

Что запросили то и получили. Как вы инициируете $category_id ?

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


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

Здравствуйте, вопрос заключается в том, как использовать в запросах в бд переменные(извиняюсь если ошибся в именовании) вида 

'" . (int)$category_id . "'

Насколько я понимаю, судя по другим запросам, эта переменная является id категории в которой мы будем находиться в последующем в каталоге.

Мне нужно использовать такой же принцип для своего запроса, сейчас при использовании я получаю ошибку, что переменная не определена.

Собственно помогите пожалуйста разобраться, как используются такие переменные, где их необходимо определить, чтобы использовать в запросах в моделях opencart'a

 

p.s. - извиняюсь если ошибся в терминах.

Переменные передаются из контроллеров, для этого их надо вычислить в контроллерах и потом передать в модель для выполнения запроса

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


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

(int) перед названием переменной - это приведение к числовому типу, делается в целях безопасности чтобы не допустить sql инъекций.
то есть не важно что будет в этой переменной перед запросом к базе оно обязательно приводится к числовому типу, то есть там по любому будет число или 0, если в переменной был какой-то текст.

НО эта переменная перед использованием должна быть обязательно определена чтобы не было ошибок.

если у вас ситуация, когда переменная может быть определена, а может не быть то перед запросом вам нужно проверить это и если переменная не определена то определить ее, например:

if (!isset($category_id)) {
$category_id = 0;
}

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


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

Спасибо большое за ответы) разобрался)

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


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

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

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

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

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

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

Войти

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

Войти

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

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

×

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

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