2017-02-21 42 views
-1

我的情況基本上是這樣的:我有3個表:itemsforsale,itemsforrent,wanteditems。這些表中的每一個都具有相同的列數和相同的名稱。我想從這3個表中選擇所有數據,其中USERID等於我選擇的ID並將它們打印爲行。它不工作。這裏是我的代碼:從多個表中選擇數據並打印它們

$sql = "SELECT sale.propertype as propertytype,sale.description as description,sale.price as price,sale.telefone1 as telefone1,sale.telefone2 as telefone2,sale.userid as userid,sale.propertyid as propertyid,sale.area as area,sale.dateposted as dateposted,sale.datebumped as datebumped,sale.images as images,sale.hiddentype as hiddentype,sale.pricetype as pricetype,sale.size as size FROM itemsforsale sale WHERE userid = '1' 
UNION SELECT rent.propertype as propertytype,rent.description as description,rent.price as price,rent.telefone1 as telefone1,rent.telefone2 as telefone2,rent.userid as userid,rent.propertyid as propertyid,rent.area as area,rent.dateposted as dateposted,rent.datebumped as datebumped,rent.images as images,rent.hiddentype as hiddentype,rent.pricetype as pricetype,rent.size as size FROM itemsforrent rent WHERE userid = '1' 
UNION select wanted.propertype as propertytype,wanted.description as description,wanted.price as price,wanted.telefone1 as telefone1,wanted.telefone2 as telefone2,wanted.userid as userid,wanted.propertyid as propertyid,wanted.area as area,wanted.dateposted as dateposted,wanted.datebumped as datebumped,wanted.images as images,wanted.hiddentype as hiddentype,wanted.pricetype as pricetype,wanted.size as size from itemswanted wanted WHERE userid = '1'"; 
$result = mysqli_query($mysqli, $sql); 

錯誤: 警告:mysqli_fetch_array()預計參數1被mysqli_result,布爾在blahblah給出線290

我不能讓它正常工作。任何幫助?

回答

1

您不能使用SELECT *UNION,您必須指定列名稱。 Here的文件說什麼:

The column names from the first SELECT statement are used as the column names for the results returned. Selected columns listed in corresponding positions of each SELECT statement should have the same data type. (For example, the first column selected by the first statement should have the same type as the first column selected by the other statements.)

此外,申請訂購,您需要使用ORDER BY外UNION查詢。

To apply ORDER BY or LIMIT to an individual SELECT, place the clause inside the parentheses that enclose the SELECT

+0

我想選擇表中的所有內容。這是如何完成的? – Ali

+0

您可以爲所有'SELECT'語句指定逗號分隔的列列表。 –

+0

所以我必須選擇所有列而不是*? – Ali

相關問題