2012-08-06 103 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);