иметь дело с датами в MySQL?

0

У меня есть этот длинный mysql-запрос, и я пытаюсь найти выборку строк, которые старше, чем заданная дата $lastmsg.

это код im, использующий:

$result="SELECT
               u.username, u.picture,m.id, m.user_note, m.reply_id, m.reply_name, m.recycle_id, m.recycle_name, m.dt
              FROM
                relationships r,
                notes m,
                user u
              WHERE
                m.user_id = r.leader
              AND
                r.leader = u.user_id
              AND
                r.listener = ".$_SESSION['user_id']."
             UNION
               select username, picture,id, user_note, reply_id, reply_name, recycle_id, recycle_name, dt
               from user u, notes b
               where u.user_id = b.user_id
               AND
               b.user_id =".$_SESSION['user_id']."
               AND
        WHERE dt < '$lastmsg'
               ORDER BY dt DESC LIMIT 10";

mysql_query($result) or die(mysql_error().$result);

Извините за длинный беспорядочный код, запрос работал до тех пор, пока я не добавил это предложение $lastmsg where.

p.s. dt DATETIME и $lastmsg 2010-09-20 12:53:43

ошибка im get:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'where dt <'2010-09-20 12:53:43' ORDER BY dt DESC LIMIT 10' at line 20SELECT u.username, u.picture,m.id, m.user_note, m.reply_id, m.reply_name, m.recycle_id, m.recycle_name, m.dt FROM relationships r, notes m, user u WHERE m.user_id = r.leader AND r.leader = u.user_id AND r.listener = 2 UNION select username, picture,id, user_note, reply_id, reply_name, recycle_id, recycle_name, dt from user u, notes b where u.user_id = b.user_id and b.user_id =2 and where dt <'2010-09-20 12:53:43' ORDER BY dt DESC LIMIT 10
  • 0
    Если $lastmasg == 2010-09-20 12:53:43' дополнительная кавычка приведет к синтаксической ошибке. Что такое отчеты об ошибках MySQL?
  • 0
    я только что отредактировал свой вопрос, ошибка в них!
Теги:
date

1 ответ

2
Лучший ответ
           AND
    WHERE dt < '$lastmsg'

этот недопустимый синтаксис. удалите "WHERE".

  • 0
    ура :)))) я такой слепой

Ещё вопросы

Сообщество Overcoder
Наверх
Меню