2014-12-04 77 views
0

我有3个表。在table_1和table_2中,我有一个名为plevel的字段。第三张桌子是加入他们,是。 cars_user并有2列 - table1_pleveltable2_plevel 查询,我要选择的是MySQL总是返回期望参数1是mysqli_result,布尔给定

$q = mysqli_query($con, "SELECT * FROM `cars` AS c 
     LEFT JOIN `cars_user` AS c2u ON c.cars_plevel = c2u.car_plevel 
     LEFT JOIN `users` AS u ON c2u.user_plevel = u.users_plevel"); 

当我运行它,我得到的是列是未知的,但我知道,这列是存在的。

#1054 - Unknown column 'c.cars_plevel' in 'on clause' 

我已经把引用也cars_usercars.plevelusers.plevel

ALTER TABLE `cars_user` ADD FOREIGN KEY (`cars_plevel`) 
    REFERENCES `app`.`cars` (`plevel`) ON DELETE RESTRICT ON UPDATE RESTRICT; 
ALTER TABLE `cars_user` ADD FOREIGN KEY (`user_plevel`) 
    REFERENCES `app`.`users` (`plevel`) ON DELETE RESTRICT ON UPDATE RESTRICT; 

什么这里的问题是什么?

+0

这到底是什么错误说:你有没有列像'c.cars_plevel'。所以,查询失败,结果将是错误的,而不是资源。所以你不能获取它,或者使用任何其他操作。 – vaso123 2014-12-04 13:21:28

+0

应该是“car_plevel”而不是“cars_plevel”吗? – 2014-12-04 13:22:03

+0

但在'汽车'我有'plevel'专栏。 – 2014-12-04 13:22:53

回答

0

我喜欢错误说你没有c.cars_plevel你有c.plevel,你不必u.users_plevel你有u.plevel或者换句话说:

$q = mysqli_query($con, "SELECT * FROM `cars` AS c 
    LEFT JOIN `cars_user` AS c2u ON c.plevel = c2u.car_plevel 
    LEFT JOIN `users` AS u ON c2u.user_plevel = u.plevel"); 
+1

是的,现在正在工作。谢谢! – 2014-12-04 14:03:56

相关问题