我在mysql中使用多表select语句来过滤某些用户输入的查询。输入$ _POST值为:1.zipcode [来自位置表]或2.city [来自位置表]和/或3.on_date [来自日历表]和/或4.title [来自posts表]。
FROM table_many
INNER JOIN posts ON posts.title LIKE '%{$title}%'
INNER JOIN users ON users.user_id = posts.user_id
INNER JOIN locations ON locations.post_id = posts.post_id AND locations.city = '$city[0]'
LEFT JOIN calendar ON calendar.post_id = posts.post_id AND calendar.on_date = '$date'
LEFT JOIN uploads ON posts.post_id = uploads.post_id
WHERE table_many.cat_id = '$row_cat[0]' AND table_many.post_id = posts.post_id";
此设置适用于这些位置。我可以输入邮政编码或城市,并且查询过滤正确,但是从输入设置的$ date和$ title值不会检索任何记录。
有什么想法吗?或者你需要更多信息?提前谢谢。
答案 0 :(得分:0)
您在标题INNER JOIN posts ON title LIKE '%{$title}%'
试
tableName.title
。
我没有看到任何查询会使它无法正常工作,但是lemme再看看它