2012-08-06 93 views
0

这里是确切的错误:笨数据库错误编号1052

Error Number: 1052 

Column 'id' in where clause is ambiguous 

SELECT * FROM (`membership_personal`) JOIN `membership_account` ON `membership_account`.`memberid` = `membership_personal`.`id` JOIN `swapaccount` ON `swapaccount`.`memberid` = `membership_account`.`memberid` WHERE `id` = '5' 

Filename: /home/phpgod/public_html/johnnyarias/ci_website/models/generalfeaturesmodel.php 

Line Number: 57 

我知道,它与id字段存在于的连接多个表的事情。所以我的问题是如何确保where子句中的id字段仅应用于member_personal表中的id字段?

回答

2
WHERE `member_personal `.`id` = '5' 
+0

它说:未知列“member_personal.id = 5”在“where子句” – user1549397 2012-08-06 06:06:37

+0

究竟如何将ü把上面的其中CodeIgniter的数据库方法的条款? – user1549397 2012-08-06 06:07:10

1

你得到一个错误的原因是因为该领域id存在于多个表。所以MySql不可能决定你引用哪个表的id

解决的办法是指定表名和列名。例如:

`tablename`.`id` = '5' 
+0

没错,但你会如何使用codeigniters数据库类? – user1549397 2012-08-06 06:11:55

+0

我这样说:$ this-> db-> where(“'member_personal.id ='$ memberid'”); – user1549397 2012-08-06 06:12:21

+0

仍然给我同样的错误... – user1549397 2012-08-06 06:13:14

0
$this->db->where('member_personal.id',5);