2013-12-15 71 views
0

https://drive.google.com/file/d/0ByVhijs7bMwjUUZQRHpXUHFvODg/edit?usp=sharing如何在使用UNION的mysql中选择两个表?

这是我的代码

我不能两个表“草药”和“水果”使用UNION 我是PHP和MySQL的一个非常初级 请帮我

选择PRODUCT_NAME和价格形式
$results = $mysqli->query("SELECT * FROM fruits UNION SELECT * FROM herbs WHERE product_code='$product_code' LIMIT 1"); 
$obj = $results->fetch_object(); 
+0

试试这个((SELECT * FROM水果)UNION(SELECT * FROM草药WHERE PRODUCT_CODE = '$ PRODUCT_CODE'))LIMIT 1个 – Benedictus

+0

致命错误:调用第13行的C:\ xampp \ htdocs \ products \ cart_update.php中的一个非对象上的成员函数fetch_object()我得到了这个错误 – brianc

+0

草药是否有列'product_code'? – Benedictus

回答

2

我建议您先阅读this tutorial。 关键字where应该用于每个表。就像这样:

$results = $mysqli->query("SELECT * FROM fruits WHERE product_code='$product_code' UNION SELECT * FROM herbs WHERE product_code='$product_code' LIMIT 1"); 
$obj = $results->fetch_object(); 
+0

我的问题完全解决了。感谢您再次帮助Mr.Barmar – brianc

0

试试这个

$results = $mysqli->query(" 
          SELECT * FROM fruits WHERE t.product_code='$product_code' 
          UNION 
          SELECT * FROM herbs WHERE t.product_code='$product_code' 
          LIMIT 1"); 
$obj = $results->fetch_object(); 
+0

您不需要子查询。 LIMIT适用于UNION,而不是个别查询。 – Barmar

+0

我认为你对@Barmar –