-3

I always get this error when i run my code

0:
Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\fyp\admin_vieworders_details.php on line 12
Query Failed!You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1

Here is my database

table order_detail{Order_Detail_ID(PK), Order_Quantity, Sub_Total}

table order{Order_ID, Order_Date, Order_Time, Delivery_Charge, Delivery_Name}

Here is my code

$orderid =@$_GET["id"];  
$detail = "SELECT 
                order.*,
                order_detail.Order_Quantity,
                order_detail.Sub_Total
            FROM `order` AS a, `order_detail` AS b
            WHERE order_detail.Order_ID = `order`.Order_ID AND order_detail.Order_Detail_ID=$orderid";

$result = mysql_query($detail);
$row = mysql_fetch_assoc($result);

        if($result === FALSE)
    {
            die("Query Failed!".mysql_error().$result);
    }
Jess Tan
  • 21
  • 2
  • 3
  • 7

3 Answers3

1

Check mysql_error() before calling mysql_fetch_assoc(). Your query failed and the query function returned false.

$result = mysql_query($detail);
if (!$result) {
    die("Error: ".mysql_error()); // Note: raw database errors are useless for users
                                  // better log the error an create a "nice" error page
}
$row = mysql_fetch_assoc($result);

Or such might get you started.

johannes
  • 15,487
  • 3
  • 41
  • 57
1

You seem to have an error in your query :

Try :

$detail = "SELECT 
                a.*,
                b.Order_Quantity,
                b.Sub_Total
            FROM `order` AS a, `order_detail` AS b
            WHERE b.Order_Detail_ID = a.Order_ID AND
                  b.Order_Detail_ID=$orderid";

instead of

$detail = "SELECT 
                order.*,
                order_detail.Order_Quantity,
                order_detail.Sub_Total
            FROM `order` AS a, `order_detail` AS b
            WHERE order_detail.Order_ID = `order`.Order_ID AND
                   order_detail.Order_Detail_ID=$orderid";

And also...

$orderid =$_GET["orderid"]; 

instead of

$orderid =@$_GET["id"]; 
Fabien TheSolution
  • 4,950
  • 1
  • 17
  • 29
0

change this

 $orderid =@$_GET["id"]; 

to

 $orderid =$_GET['id']; 
echo_Me
  • 36,552
  • 5
  • 55
  • 77