簡體   English   中英

如何在 PDO 中使用 Union

[英]How to use Union in PDO

我查看了類似的問題和答案,但似乎沒有幫助。

我有一個查詢:

$stmt = $conn->prepare( 
'SELECT kpp_id FROM kpp_profile WHERE email = :email AND password = :password
UNION ALL
SELECT pm_id FROM pm_profile WHERE email = :email AND password = :password 
UNION ALL
SELECT trainer_id FROM trainer_profile WHERE email = :email AND password = :password');
        $stmt->execute( array( ':email' => $email, ':password' => $password ) );
        $result = $stmt->fetchAll();

由於某種原因,這只返回第一個查詢的結果。 誰能幫我理解為什么?

您確定在 pm_profile 和 trainer_profile 表中有相同提供的 email 和密碼的數據嗎? 如果您使用硬編碼的相同電子郵件/密碼直接運行相同的 sql 會發生什么?

謝謝大家。 我意識到我的錯誤。 我誤讀了結果集。 我沒有意識到 Union 只保留第一個表的列名。 我期待數組保留匹配表的鍵值對。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM