【问题标题】:php shopping cart Warning: mysql_fetch_assoc():php 购物车警告:mysql_fetch_assoc():
【发布时间】:2013-03-02 18:24:15
【问题描述】:

我在购物车中收到错误邮件“警告:mysql_fetch_assoc():提供的参数不是有效的 MySQL 结果资源”,我在邮件“总计:0.00 美元”中只收到此文本,但购物车不是空的

function emailcartview() {
$total=0;
$totalvalue=0;
$str = '';
foreach($_SESSION as $name => $value) {
    if ($value>0){
        if (substr($name, 0, 5)=='cart_'){
            $id = substr($name, 5, (strlen($name)-5));
            $get = mysql_query('SELECT id, name, price, item_number FROM products WHERE id='.mysql_real_escape_string($id));


            $cart = array();
            while ($get_row = mysql_fetch_assoc($get)) {
                $cart[] = array(
                'hsid' => $get_row['id'],
                'price' => $get_row['price'],
                $price = $get_row['price'],
                'itemno' => $get_row['item_number'],
                'name' => $get_row['name'],
                'value' => $value,
                $sub = $value*$cost,
                $total += $sub,
                $totalvalue = $value,
                'realsub' => number_format($sub, 2),
                );

                }
                foreach($cart as $index => $record){
                    global $emailcart;
                    $str = "Item: {$record['itemno']} - {$record['name']} | Qty: {$record['value']} | Cost: {$record['price']} x {$record['value']} = {$record['realsub']} <br>";

           }
        }
    }
}
$str = "Total : $".number_format($total, 2);
return $str;
 }

【问题讨论】:

  • 此代码中存在大量错误,因此即使我们帮助您解决了您所描述的一个问题,您仍然会遇到问题。 Stackoverflow 不是详细讨论它们的地方。你应该把它带到codereview.stackexchange.com,在那里他们会和你一起详细了解它。
  • 有人为你做这件事是最简单的,但我发现问题出在哪里,现在它的工作。

标签: php cart shopping


【解决方案1】:

mysql_query() 可能由于 sql 错误而返回 FALSE。由于脚本没有错误处理,这个 FALSE 已被传递给 mysql_fetch_assoc

$get = mysql_query('SELECT id, name, price, item_number FROM products WHERE id='.mysql_real_escape_string($id));
if ( !$get ) {
    trigger_error(mysql_error(), E_USER_ERROR);
}

【讨论】:

  • 好的,现在没有任何错误,但仍然在邮件中,我没有收到购物车。我只得到“Total : $0.00” 没有购物车
猜你喜欢
  • 1970-01-01
  • 2015-06-09
  • 1970-01-01
  • 1970-01-01
  • 2012-04-10
  • 1970-01-01
  • 2015-08-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多