感謝您閱讀我的問題。我一直在這裏待了一天半,現在看來我無法得到這個工作。我想要做的是結合兩個SQL查詢。結合兩個SQL查詢PHP
與數據庫的連接正確設置。這一切都工作。所以我想結合的查詢是:
$sql = "SELECT * FROM pf_postmeta WHERE meta_key = '_wp_attached_file' ";
$result = $conn->query($sql);
foreach ($result as $row) {
// do my stuff
}
$conn->close();
而且
$sql = "SELECT * FROM pf_posts WHERE post_type = 'cases' ";
$result = $conn->query($sql);
foreach ($result as $row) {
// do my stuff
}
$conn->close();
現在,我讀過有關JOIN
和UNION
,但我不能讓這兩個查詢一起工作。
我試過用UNION ALL
無濟於事。
$sql = "SELECT *FROM pf_postmeta WHERE meta_key = '_wp_attached_file'
UNION ALL
SELECT *FROM pf_posts WHERE post_type = 'cases'";
$result = $conn->query($sql);
foreach ($result as $row) {
// do stuff
}
$conn->close();
這沒有顯示任何內容。
根據要求更新:如果我刪除了UNION ALL SELECT
部分,我的查詢就可以工作。如果我在MySQLWorkbench
運行此代碼它說的
09:07:30 SELECT * FROM deb100651n2_pf.pf_posts WHERE post_type='cases' UNION ALL SELECT * FROM deb100651n2_pf.pf_postmeta WHERE meta_key = '_wp_attached_file' Error Code: 1222. The used SELECT statements have a different number of columns 0.050 sec
有沒有人誰的解決方案形成了我?這已被竊聽我過去1,5天的...
(注:我是很新,整個SQL的事情,所以請溫柔...)
再次感謝您的時間...
您是否檢查了錯誤輸出以查看UNION查詢給您的錯誤?那將是一個開始的好地方。 –
你能告訴我如何獲得調試「輸出」?我很樂意更新這個問題。 –
而不是在PHP中運行它們,您可能會更好地在MySQL Workbench或PHPMyAdmin中運行它們,以便查看是否有任何錯誤。沒有看到您的模式,我們無法真正幫助您。 JOIN只會在兩個表之間存在關係時才起作用 – Alex