Ошибка unknown column in 'where clause'

317
28 мая 2017, 20:27

Работаю с 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' в ошибке значится как колонка? благодарен за любую помощь!

Answer 1

Колонка 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");
}
READ ALSO
не подключается к БД MySQL

не подключается к БД MySQL

После установки сервера EE GlashFish перестала работать БДв netstat -na нет строчки с портом 3306

219
Lipe RMI libgdx android не подключается к серверу

Lipe RMI libgdx android не подключается к серверу

Делал по примеру https://stackoverflowcom/questions/13788738/using-java-rmi-in-android-application

326
Как вывести на экран значение объекта, используемого интерфейсом Map?

Как вывести на экран значение объекта, используемого интерфейсом Map?

Проблема в том, что не знаю как вывести какой либо объект типа uaedu

536
Какая логика приложение на Android, психологического теста?

Какая логика приложение на Android, психологического теста?

Здравствуйте! Вопрос очень абстрактный, я это понимаю и ответ естественно жду примерно такой же

248