Anyone know where is my mistake?
The error show when i click on "buy" in product.php.
Please guide me.
---------------------------------------------------------
Error shown:
Fatal error: Call to a member function fetch_row() on
a non-object in C:\test\kelly.php on line 14
----------------------------------------------------------
//product.php
<?php
include("db.php");
$db=new mysqli('localhost','root','','test');
$db->select_db('test');
$query="select * from book order by title asc";
$result = $db->query($query);
?>
<?php
while($row =$result->fetch_assoc())
{
?>
<table border=1 width=80% bgcolor="pink">
<tr>
<td width=20%>
<font face="verdana" size="2" color="black" >
ISBN :
</font>
</td>
<td >
<font face="verdana" size="2" color="black">
<?php echo $row["isbn"]; ?>
</font>
</td>
</tr>
<tr>
<td width=20%>
<font face="verdana" size="2" color="black">
TITLE:
</font>
</td>
<td >
<font face="verdana" size="2" color="black">
<?php echo $row["title"]; ?>
</font>
</td>
</tr>
<tr>
<td width=20%>
<font face="verdana" size="2" color="black">
Author :
</font>
</td>
<td >
<font face="verdana" size="2" color="black">
<?php echo $row["author"]; ?>
</font>
</td>
</tr>
<tr>
<td width=20%>
<font face="verdana" size="2" color="black">
Description :
</font>
</td>
<td >
<font face="verdana" size="2" color="black">
<?php echo $row["description"]; ?>
</font>
</td>
</tr>
<tr>
<td width=20%>
<font face="verdana" size="2" color="black">
Condition :
</font>
</td>
<td >
<font face="verdana" size="2" color="black">
<?php echo $row["condition"]; ?>
</font>
</td>
</tr>
<tr>
<td width=20%>
<font face="verdana" size="2" color="black">
Price(RM) :
</font>
</td>
<td >
<font face="verdana" size="2" color="black">
<?php echo $row["price"]; ?>
</font>
</td>
</tr>
<td >
<font face="verdana" size="2" color="black">
<a href="cart.php?action=add_item&id=<?php echo $row["bookid"];?>">Buy</a>
</font>
</td>
</tr>
<br />
</table>
<?php }?>
<tr>
<td >
<hr size="2" color="red" NOSHADE>
</td>
</tr>
<tr>
<td >
<font face="verdana" size="5" color="black">
<a href="cart.php"> View Your Shopping Cart >></a>
</font>
</td>
</tr>
</table>
</body>
</html>
------------------------------------------------
//kelly.php
<?php
function AddItem($bookid){
$db=new mysqli('localhost','root','','test');
$db->select_db('test');
$query="select count(*) from cart where cookieId = '" . GetCartId() . "' and bookid = $bookid";
$result=$db->query($query);
$row =$result->fetch_row();
$numRows = $row[0];
if($numRows == 0)
{
// This item doesn't exist in the users cart,
// we will add it with an insert query
$query="insert into cart(cookieId, bookid) values('" . GetCartId() . "', $bookid)";
$result=$db->query($query);
}
else
{
echo "The book already in your shopping cart.";
// This item already exists in the users cart,
}
}
function RemoveItem($bookid){
$db=new mysqli('localhost','root','','test');
$db->select_db('test');
$query="delete from cart where cookieId = '" . GetCartId() . "' and bookid = $bookid";
$result=$db->query($query);
}
function ShowCart(){
$db=new mysqli('localhost','root','','test');
$db->select_db('test');
$query="select * from cart inner join items on cart.bookid = book.bookid where cart.cookieId = '" . GetCartId() . "' order by book.title asc";
$result=$db->query($query);
$totalCost=0;
while($row = $result->fetch_assoc())
{
// Increment the total cost of all items
$totalCost+=$row["price"];
?>
<td width="55%" height="25">
<font face="verdana" size="1" color="black">
<?php echo $row["title"]; ?>
</font>
</td>
<td width="20%" height="25">
<font face="verdana" size="1" color="black">
$<?php echo number_format($row["price"], 2, ".", ","); ?>
</font>
</td>
<td width="10%" height="25">
<font face="verdana" size="1" color="black">
<a href="cart.php?action=remove_item&id=<?php echo $row["bookid"]; ?>">Remove</a>
</font>
</td>
</tr>
<br />
<?php } ?>
<tr>
<td width="100%" colspan="4">
<hr size="1" color="red" NOSHADE>
</td>
</tr>
<tr>
<td width="70%" colspan="2">
<font face="verdana" size="1" color="black">
<a href="products.php"><< Keep Shopping</a>
</font>
</td>
<td width="30%" colspan="2">
<font face="verdana" size="2" color="black">
<b>Total: $<?php echo number_format($totalCost, 2); ?></b>
</font>
</td>
</tr>
<?php } ?>
---------------------------------------------------
//cart.php
<?php
include("kelly.php");
include("db.php");
?>
<?php
switch($_GET["action"])
{
case "add_item":
{
AddItem($_GET["bookid"]);
ShowCart();
break;
}
case "remove_item":
{
RemoveItem($_GET["bookid"]);
ShowCart();
break;
}
default:
{
ShowCart();
}
}
?>
---------------------------------------------------
//db.php
<?php
function GetCartId()
{
// This function will generate an encrypted string and
// will set it as a cookie using set_cookie. This will
// also be used as the cookieId field in the cart table
if(isset($_COOKIE["cartId"]))
{
return $_COOKIE["cartId"];
}
else
{
// There is no cookie set. We will set the cookie
// and return the value of the users session ID
session_start();
setcookie("cartId", session_id(), time() + ((3600 * 24) * 30));
return session_id();
}
}
?>
-----------------------------------------------//end