1

私は最近、データベースからより多くの情報を入力する必要がありました.LEFT JOINは私を助けるために. my 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
4

2 に答える 2

5

The query itself is correct (although really inefficient due to ORs and % % [ indexes will not be used] ).
I would suggest to echo the query, are you sure that $var is evaluated correctly ? Try to run the query directly in mysql (via phpmyadmin for example or using console).

于 2012-04-21T12:20:17.697 に答える
0

$var 値を設定していないだけだと思います。次に、たとえば、students.telephone LIKE '%$var' は、students.telephone LIKE '%' (null アドレスでない場合は常に true) になり、 join のすべてのレコードと一致します。

于 2012-04-21T12:23:16.443 に答える