2014-04-29 90 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