我最近被要求从我的数据库输入更多信息,而我刚刚加入LEFT JOIN来帮助我,它几乎完美地工作(它确实从另一个表中获得正确的字段),但我的WHERE子句是无效的,使用户无需限制我的where子句即可访问这两个表。LEFT JOIN break WHERE子句
MySQL并没有收集任何错误,所以我假设这是与我的where子句或连接中发生的事情有关。
SELECT * FROM students
LEFT JOIN courses ON students.appliedforCourse = courses.idNumber
WHERE
students.telephone LIKE '%$var'
OR students.email LIKE '%$var'
OR students.address like'%$var%'
OR (CONCAT(students.firstName,' ',students.lastName) LIKE '%$var%')
AND addedBy ='$userid'
LIMIT $s,limit
请详细解释您的要求,因为我不明白你到底想要什么。查询看起来不错,但解释你想要得到的结果更重要(包括被查询的表的定义)。 – LightBulb 2012-04-21 12:25:05
查询返回的行没有WHERE子句的影响,$ vars也被正确填写。 – PwnageAtPwn 2012-04-21 12:30:14
简单的问题:你知道'LEFT JOIN'和'INNER JOIN'之间的区别吗? – LightBulb 2012-04-21 12:34:24