警告:PHP MySQL遇到非数字值

时间:2017-11-22 12:13:45

标签: php mysql

我收到警告:

  

警告:第110行的C:\ xampp \ htdocs \ epard \ cart.php中遇到非数字值

$cartOutput = "";
$cartTotal = "";
$pp_checkout_btn = '';
$product_id_array = '';
if (!isset($_SESSION["cart_array"]) || count($_SESSION["cart_array"]) < 1) {
  $cartOutput = "<h2 align='center'>Jūsų krepšelis tuščias</h2>";
} else {

  // Start the For Each loop

  $i = 0; 
  foreach ($_SESSION["cart_array"] as $each_item) { 
    $item_id = $each_item['item_id'];
    $sql = mysqli_query($con, "SELECT * FROM prekes WHERE id='$item_id' LIMIT 1");
    while ($row = mysqli_fetch_array($sql)) {
      $pavadinimas = $row["pavadinimas"];
      $kaina = $row["kaina"];
      $gamintojas = $row["gamintojas"];
    }
    $pricetotal = $kaina * $each_item['quantity'];
    $cartTotal = $pricetotal + $cartTotal;
    setlocale(LC_MONETARY, "en_EU");

    // Create the product array variable

    $product_id_array .= "$item_id-".$each_item['quantity'].","; 

    // Dynamic table row assembly

    $cartOutput .= "<tr>";
    $cartOutput .= '<td><a href="product.php?id=' . $item_id . '">' . $pavadinimas . '</a><br /><img src="inventory_images/' . $item_id . '.jpg" alt="' . $pavadinimas. '" width="40" height="52" border="1" /></td>';
    $cartOutput .= '<td>' . $gamintojas . '</td>';
    $cartOutput .= '<td>€' . $kaina . '</td>';
    $cartOutput .= '<td><form action="cart.php" method="post">
    <input name="quantity" type="text" value="' . $each_item['quantity'] . '" size="1" maxlength="2" />
    <input class="btn btn-primary btn-sm" name="adjustBtn' . $item_id . '" type="submit" value="change" />
    <input name="item_to_adjust" type="hidden" value="' . $item_id . '" />
    </form></td>';
    //$cartOutput .= '<td>' . $each_item['quantity'] . '</td>';
    $cartOutput .= '<td>€' . $pricetotal . '</td>';
    $cartOutput .= '<td><form action="cart.php" method="post"><input class="btn btn-danger btn-sm" name="deleteBtn' . $item_id . '" type="submit" value="X" /><input name="index_to_remove" type="hidden" value="' . $i . '" /></form></td>';
    $cartOutput .= '</tr>';
    $i++; 
} 
setlocale(LC_MONETARY, "en_US");
$cartTotal = "<div style='font-size:18px; margin-top:12px;' align='right'>Krepšelio suma : ".$cartTotal." EUR</div>";
}

重要的是,cartTotal完美运作。它计算每件商品的价格,但它仍然显示警告。有没有办法删除该警告?

2 个答案:

答案 0 :(得分:3)

因此第110行是$cartTotal = $pricetotal + $cartTotal;

看看你如何设置这些值 你的代码的第二行。 $cartTotal = "";
“”不是数字!

所以初始化你的变量:$cartTotal = 0;

答案 1 :(得分:0)

看看如何设置这些值。 您的代码的第二行。 $abc = $DEF;

因此像这样初始化变量:@$abc = $DEF;

相关问题