簡體   English   中英

Drupal模塊mysql錯誤

[英]Drupal module mysql error

在某些站點的模塊中,我有下一個代碼

function q_cart_add($node) {
    global $user;
    //drupal_set_title('Добавление товара в корзину');
    drupal_set_title('Товар добавлен в корзину');
    if (!user_access('add to cart'))
        return '<p>У вас не достаточно прав для добавления в корзину</p>';
    if ($node -> type != 'kartochka')
        return '<p>В корзину можно положить только товар</p>';
    $added = false;
    if ($user -> uid) {
        $added = db_result(db_query('SELECT `added` FROM {q_cart} WHERE `uid` = %d, `nid` = %d', $user -> uid, $node -> nid));
        if (!$added) {
            db_query('INSERT INTO {q_cart} (`uid`, `nid`, `added`) VALUES (%d, %d, %d)', $user -> uid, $node -> nid, time());
        }
    } else {
        foreach (isset($_COOKIE['q_cart']) && ($cart = json_decode($_COOKIE['q_cart'])) ? $cart : array() as $item)
            if ($item -> nid == $node -> nid) {
                $added = true;
                break;

但是在drupal(6)的管理面板中的報告中,我有錯誤:

    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 &#039; `nid` = 806&#039; at line 1 query: 
SELECT `added` FROM q_cart WHERE `uid` = 1, `nid` = 806 in file...

此代碼有什么問題?

問題是第一個查詢的這一部分:

WHERE `uid` = %d, `nid` = %d

條件必須用ANDOR分隔:

SELECT `added` FROM {q_cart} WHERE `uid` = %d AND `nid` = %d

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM