-1

我有必须将一些数据写入数据库表的函数,但是在函数完成后,我没有在我的 phpmyadmin 中看到添加的信息。这是我要运行的代码

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 OR `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;
            }
        if (!$added) {
            $cart[] = array(
                'nid'   => $node->nid,
                'added' => time(),
            );
            setcookie('q_cart', json_encode($cart), strtotime('+1 week'), '/');
        }
    }
    //if (!$added) return '<p>Товар добавлен в корзину.</p>'.l('Корзина', 'cart', array('attributes' => array('target' => '_top', 'class' => 'button-link'))).'<a href="javascript://" onclick="parent.Lightbox.end(\'forceClose\');" class="button-link">Позже</a>';
    if (!$added) {
        drupal_add_js('$(document).ready(function(){parent.document.getElementById("bottomNavClose").style.display = "none";parent.document.getElementById("lightbox").style.top = "200px";});', 'inline');
        return l('Корзина', 'cart', array('attributes' => array('target' => '_top', 'class'  => 'button-link'))) .
                '<a href="/node/' . $node->nid . '" target ="_top" class="button-link">Позже</a>';
        //'<a href="javascript://" onclick="parent.Lightbox.end(\'forceClose\');" class="button-link">Позже</a>';
    } else {
        return '<p>Товар уже есть в вашей корзине.</p>';
    }
}
4

1 回答 1

0

请将 db_query 更改为 mysql_query 并添加或死亡 (mysql_error())。它应该解释为什么添加失败。

例如:mysql_query('INSERT INTO {q_cart} ( uid, nid, added) VALUES ('.$user->uid.', '.$node->nid.', '.time().')') 或 die( mysql_error());

于 2012-08-10T13:49:02.817 回答