0

如何在我的 sql 语句中创建 Order By?我已经尝试过这样的声明,但这不起作用。每次我运行它都会崩溃。是因为我的 $_GET['email'] 吗?我究竟做错了什么?

$results = $this->EE->db->query(
"SELECT ct.*, t.*, em.*, cd.*
FROM transactions as t
Inner JOIN exp_channel_titles as ct on (t.restaurant_id = ct.entry_id)
Inner JOIN exp_channel_data as cd on (ct.entry_id = cd.entry_id)
inner join exp_members as em on (t.cardid-10000000 = em.member_id) 
WHERE ct.title = '".$_GET['email']."'ORDER BY t.created DESC");
4

3 回答 3

0

应该是:

$results = $this->EE->db->query(
"SELECT ct.*, t.*, em.*, cd.*
FROM transactions as t
Inner JOIN exp_channel_titles as ct on (t.restaurant_id = ct.entry_id)
Inner JOIN exp_channel_data as cd on (ct.entry_id = cd.entry_id)
inner join exp_members as em on (t.cardid-10000000 = em.member_id) 
WHERE ct.title = '".$_GET['email']."' ORDER BY t.created DESC");

$_GET['email']和之间缺少空格ORDER BY

于 2013-02-26T12:20:59.640 回答
0

如评论中所示,您之前错过了一个空格'ORDER BY'

WHERE ct.title = '".$_GET['email']."'ORDER BY t.created DESC");
                                   ^^^

WHERE ct.title = '".$_GET['email']." 'ORDER BY t.created DESC");
                                   ^^^^

全部一起:

$results = $this->EE->db->query(
"SELECT ct.*, t.*, em.*, cd.*
FROM transactions as t
Inner JOIN exp_channel_titles as ct on (t.restaurant_id = ct.entry_id)
Inner JOIN exp_channel_data as cd on (ct.entry_id = cd.entry_id)
inner join exp_members as em on (t.cardid-10000000 = em.member_id) 
WHERE ct.title = '".$_GET['email']." 'ORDER BY t.created DESC");
于 2013-02-26T12:22:05.867 回答
0

使用单独的变量以提高可读性。

$email  =   $_GET['email'];

$query  =   "SELECT
              ct.*,
              t.*,
              em.*,
              cd.*
            FROM transactions as t
              Inner JOIN exp_channel_titles as ct
                on (t.restaurant_id = ct.entry_id)
              Inner JOIN exp_channel_data as cd
                on (ct.entry_id = cd.entry_id)
              inner join exp_members as em
                on (t.cardid - 10000000 = em.member_id)
            WHERE ct.title = '$email'
            ORDER BY t.created DESC";

$results = $this->EE->db->query($query);
于 2013-02-26T12:40:40.503 回答