1

我正在尝试使用一个表(聚会)中每一行的所有列,以及另一个(客户)中的一些列。

好的,这是我的代码

public function getParty($data = array()) {

    $sql = "SELECT party.* , customer.customer_id AS customerID, customer.firstname AS customerFN, customer.lastname AS customerLN, customer.email AS customerEMAIL, customer.ip AS cutomerIP
    FROM `" . DB_PREFIX . "party` 
    JOIN `" . DB_PREFIX . "cutomer` 
    ON party.cutomer_id = customer.customer_id
    WHERE status=3";

    $sort_data = array(


        'date_added',
        'order_id',
        'customer_id',
        'customerFN',
        'customerLN',
        'customerEMAIL',
        'customerIP',
        'description',
        'status',
        'amount'


    );

    if (isset($data['sort']) && in_array($data['sort'], $sort_data)) {
        $sql .= " ORDER BY " . $data['sort'];   
    } else {
        $sql .= " ORDER BY date_added"; 
    }

    if (isset($data['order']) && ($data['order'] == 'DESC')) {
        $sql .= " DESC";
    } else {
        $sql .= " ASC";
    }

    if (isset($data['start']) || isset($data['limit'])) {
        if ($data['start'] < 0) {
            $data['start'] = 0;
        }           

        if ($data['limit'] < 1) {
            $data['limit'] = 20;
        }   

        $sql .= " LIMIT " . (int)$data['start'] . "," . (int)$data['limit'];
    }

    $query = $this->db->query($sql);

    return $query->rows;
}

这是错误

Notice: Error: Table 'XXX.cutomer' doesn't exist
Error No: 1146
SELECT party.* , customer.customer_id AS customerID, customer.firstname AS customerFN, customer.lastname AS customerLN, customer.email AS customerEMAIL, customer.ip AS cutomerIP FROM `party` JOIN `cutomer` ON party.cutomer_id = customer.customer_id WHERE status=3 ORDER BY date_added ASC LIMIT 0,10 in /srv/www/htdocs/XXX/system/database/mysql.php on line 49

也许我在某个地方错了,但没有看到

问候彼得·斯托亚诺夫

4

4 回答 4

1
JOIN `" . DB_PREFIX . "cutomer` 

应该

JOIN `" . DB_PREFIX . "customer` 

?

还...

ON party.cutomer_id = customer.customer_id

应该

ON party.customer_id = customer.customer_id

?

我会搜索所有实例cutomer并将它们替换为customer.

于 2012-11-01T12:22:05.247 回答
0

我认为应该是

ON party.customer_id = customer.customer_id

代替

ON party.cutomer_id = customer.customer_id
于 2012-11-01T12:22:20.113 回答
0

请从

    JOIN `" . DB_PREFIX . "cutomer` 

    JOIN `" . DB_PREFIX . "customer` 

前任:

    FROM `" . DB_PREFIX . "party` 
    JOIN `" . DB_PREFIX . "customer` 
    ON party.cutomer_id = customer.customer_id
    WHERE status=3";
于 2012-11-01T12:26:01.130 回答
-1

将您的 SQL stmt 更改为:

$sql = "SELECT party.* , customer.customer_id AS customerID, customer.firstname AS customerFN, customer.lastname AS customerLN, customer.email AS customerEMAIL, customer.ip AS customerIP
FROM `" . DB_PREFIX . "party` 
JOIN `" . DB_PREFIX . "customer` 
ON party.customer_id = customer.customer_id
WHERE status=3";
于 2012-11-01T12:23:52.747 回答