0
我有兩個假設表'應用程序'和'工作'。我想加入這兩個表基於「jobs_id」顯示結果,並登錄的用戶(這是一個全局變量)哪裏不能使用左連接
現在,我有一個簡單的查詢:
<?php
$user = 'root';
$pass = '';
$db = new PDO('mysql:host=localhost;dbname=mydb', $user, $pass);
$sql = " SELECT e.application_id, e.candidate_login, e.company_id, e.jobs_id, u.jobs_title, u.jobs_manager
FROM applications
AS e LEFT JOIN jobs
AS u ON e.jobs_id = u.jobs_id
WHERE e.candidate_login='[usr_login]'
";
$query = $db->prepare($sql);
$query->execute();
$results = $query->fetchAll(PDO::FETCH_ASSOC);
?>
我的問題是,WHERE子句禁止數據被顯示。
我正在使用變量'[usr_login]'來僅顯示屬於已記錄用戶的結果。它適用於所有其他查詢,但這一個。
當我將該變量更改爲常量(例如電子郵件地址)時,會顯示結果。
我也認爲變量是以其他數據爲基礎的,並且按預期工作。
所以我的問題是,WHERE子句有什麼問題?
任何人都可以指向正確的方向嗎?
[usr_login]中的數據是什麼? –
我對括號[]表示法不熟悉,您是否試過用'bindParam'綁定$ usr_login? http://php.net/manual/en/pdo.prepared-statements.php – chiliNUT
考慮到解析是(從((應用程序 AS e)LEFT JOIN(作業 AS u)ON(e .jobs_id = u.jobs_id))) (WHERE(...))。 – philipxy