global $db_name;
echo '<p><h3>Your Shopping Cart</h3></p>';
if(isset($_SESSION['cart'])) {
$total = 0;
echo '<table>';
echo '<tr>';
echo '<th>Code</th>';
echo '<th>Name</th>';
echo '<th>Quantity</th>';
echo '<th>Cost</th>';
echo '</tr>';
foreach($_SESSION['cart'] as $product_id => $quantity) {
///the problem is with these two line underneath
//Warning: mysqli_query() expects parameter 1 to be mysqli, string given in C:\xampp\htdocs\.... on line 147
$do= "SELECT product_code, product_name, product_desc, qty, price FROM products WHERE id = .$product_id";
$result = mysqli_query($db_name,$do);
if($result){
while($obj = $result->fetch_object()) {
$cost = $obj->price * $quantity; //work out the line cost
$total = $total + $cost; //add to the total cost
echo '<tr>';
echo '<td>'.$obj->product_code.'</td>';
echo '<td>'.$obj->product_name.'</td>';
echo '<td>'.$quantity.' <a class="button [secondary success alert]" style="padding:5px;" href="update-cart.php?action=add&id='.$product_id.'">+</a> <a class="button alert" style="padding:5px;" href="update-cart.php?action=remove&id='.$product_id.'">-</a></td>';
echo '<td>'.$cost.'</td>';
echo '</tr>';
}
}
}
echo '<tr>';
echo '<td colspan="3" align="right">Total</td>';
echo '<td>'.$total.'</td>';
echo '</tr>';
echo '<tr>';
echo '<td colspan="4" align="right"><a href="update-cart.php?action=empty" class="button alert">Empty Cart</a> <a href="products.php" class="button [secondary success alert]">Continue Shopping</a>';
if(isset($_SESSION['username'])) {
echo '<a href="orders-update.php"><button style="float:right;">COD</button></a>';
}
else {
echo '<a href="login.php"><button style="float:right;">Login</button></a>';
}
echo '</td>';
echo '</tr>';
echo '</table>';
}
存在其中它指出特定路線錯誤的PHP
警告一行:mysqli_query()預計參數1是在C中給出的mysqli,字符串:\ XAMPP \ htdocs中....上線147
我只是不知道該怎麼做,在那裏看了很多餡餅,但沒有幫助。如果你們中的任何一位能幫我弄清楚問題出在哪裏,我將不勝感激。
[文檔與工作示例(http://php.net/mysqli_query) - 你不能只是爲其提供'$ db_name',它是數據庫的*字符串*名稱。你必須像這樣創建一個'mysqli'的實例:'$ mysqli = new mysqli(「localhost」,「my_user」,「my_password」,「world」);'。再次,[該文件有一個簡單的例子,將爲你工作](http://php.net/mysqli_query) – WEBjuju
你的下一個錯誤將因爲'。$ product_id'不連接,你已經在引號..任何關閉封裝或者將其扔進去。這也對SQL注入開放。 – chris85
檢查連接對象。否則向我們展示'數據庫連接'。發佈時可以輸入虛擬值。 –