Работаю с CI. Выполняю запрос:
function get_history($username)
{
$where = "receiver=$username OR sender=$username";
return $this->db->where($where)->order_by('id', 'DESC')->limit(10)->get("transactions");
}
Получаю ошибку:
Error Number: 1054
Unknown column 'johndoe' in 'where clause'
SELECT * FROM transactions WHERE receiver = johndoe OR sender
= johndoe ORDER BY id DESC LIMIT 10
Что я делаю не так? Почему значение 'johndoe' в ошибке значится как колонка? благодарен за любую помощь!
Колонка receiver и sender у вас строковые,так что и значения должны быть в них строками.Нужно было переменные обрамлять в строковые кавычки.
То есть результат должен выглядеть следующим образом:
SELECT * FROM transactions WHERE receiver = 'johndoe' OR sender = 'johndoe' ORDER BY id DESC LIMIT 10
Иначе в пределах данного запроса будет искать колонку с подобным именeм (johndoe),и не находя его выдаёт вашу ошибку.
Ршение:
function get_history($username)
{
$where = "receiver='{$username}' OR sender='{$username}'";
return $this->db->where($where)->order_by('id', 'DESC')->limit(10)->get("transactions");
}
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости