2014-04-29 91 views
-1

所以這段代碼不起作用,我無法弄清楚。Where和Order By子句不起作用

$productid = (isset($_REQUEST['productId'])) ? $_REQUEST['productId'] : ''; 

$query = "SELECT * FROM products WHERE productId = '$productid' ORDER BY rand() limit 3"; 
+0

什麼不行?你是否迴應了查詢並查看它的外觀,然後直接在mysql上試用? –

+0

因此,如果productId沒有結束,那麼您正在選擇沒有productId的產品。這是故意的,並且產品沒有ID? – StaticVoid

+0

...你是否收到某種錯誤信息? – WillardSolutions

回答

0

也許嘗試:

$productid = (isset($_REQUEST['productId'])) ? $_REQUEST['productId'] : ''; 
if ($productid != ''){ 
    $query = "SELECT * FROM products WHERE productId = '$productid' ORDER BY rand() limit 3"; 
} else { 
    $query = "SELECT * FROM products ORDER BY rand() limit 3"; 
} 

這將返回所有的產品,如果產品ID沒有過來。

+0

謝謝你的工作。 – Michelle