簡體   English   中英

mysql-從一個表中選擇所有內容,並在其中找到$ var的另一列中選擇所有內容

[英]mysql - Select all from one table and one column form another where $var is found

Ooooookay。 我有兩個表客戶端和用戶。 兩者都具有AUTO_INCREMENT ID,但客戶端表具有可信列,這是外鍵,並且引用了用戶表的ID。

我想准備一個PHP PDO語句,該語句從客戶端表中獲取所有列,並且僅從用戶表中獲取用戶名列,其中客戶端表的列credid =:var和用戶表的列id =:var

到目前為止,我有這樣的事情,它不起作用

$userid = $_SESSION['id']; //echoes a number
    $STH = $DBH->prepare("SELECT * FROM client WHERE credid = :id AND username FROM users
    WHERE id = :id");
    $credentials = array(
        ':id' => $userid
    );
    $STH->execute($credentials);

然后這樣

    if ($STH->rowCount() > 0) {
        $result = $STH->fetch(PDO::FETCH_ASSOC);
        echo $result['columnfoo'];
        echo $result['anothercolumn'];
        echo etc.
        .
        .
        .

    }

這將返回有關sql語法的錯誤。

我也嘗試過這樣的事情:

    SELECT client.*,users.username FROM client,users WHERE client.credid =users.id = :id

不返回錯誤,但也不返回任何數據...我應該如何構造准備好的查詢?

您需要使用join

SELECT c.*, u.username
FROM   client c
JOIN   users u ON u.id = c.credid
WHERE  credid = :id

暫無
暫無

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

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