将数据写入数据库表问题

时间:2012-08-10 13:46:46

标签: php sql drupal

我的函数必须将一些数据写入数据库表,但在函数完成后,我在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>';
    }
}

1 个答案:

答案 0 :(得分:0)

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

例如:mysql_query('INSERT INTO {q_cart}(uidnidadded)VALUES('。$ user-&gt; uid。','。$ node - &gt; nid。','。time()。')')或死(mysql_error());