2013-03-14 75 views
0

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

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; 
} 
+0

这段代码中存在大量的错误,所以即使我们帮助您解决了所描述的一个问题,您仍然会遇到问题。 Stackoverflow不是详细讨论它们的地方;你应该把它带到http://codereview.stackexchange.com/,在那里他们会更详细地与你通过它。 – SDC 2013-03-14 12:38:49

+0

当有人为你做时,这是最容易的,但我发现问题在哪里,现在它的工作。 – 2013-03-14 14:00:48

回答

0

大概mysql_query(),因为SQL错误的返回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); 
} 
+0

好吧,现在没有任何错误,但仍然在邮件我没有得到购物车。没有购物车,我只得到“总计:0.00美元” – 2013-03-14 12:32:36