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