0
$db->setQuery("UPDATE #__customers (customers_default_address_id) 
               SET (customers_default_address_id = address_book_id 
               FROM #__address_book WHERE customers_id = '.(int) $userId.')");

使用此规则,我会收到 500 错误。应该是什么错误?

4

2 回答 2

1

我认为这应该可以解决问题

$address_id = tep_db_insert_id();

$db->setQuery(" UPDATE #_customers 
                SET customers_default_address_id = '" . (int)$address_id . "'
                where customers_id = '" . (int) $userId . "'");
$db->query();
于 2011-09-02T14:09:18.087 回答
0

您的UPDATE语法有错误:

$user_id = mysql_real_escape_string($user_id);
$db->setQuery("UPDATE customers c
           INNER JOIN address_book ab ON (...join-criterion_here...)
           SET c.customers_default_address_id = ab.address_book_id 
           WHERE c.customers_id = '$user_id' ");

这个'.(int) $user_id.'技巧在我的测试中也不起作用。

于 2011-08-30T14:36:37.177 回答