2012-08-10 52 views
0

我有PHP代码:笨2.1 - MySQL的CONCAT(追加字符串)

$query = 'UPDATE `user_vote` SET `container` = CONCAT(`container`, ' ; 
$query .= ",$glas"; 
$query .= ') WHERE `user_id` = ' . $id_u; 
$this->db->query($query); 

当我运行这段代码,我得到了以下错误:

Error Number: 1054

Unknown column ',iljadu' in 'field list'

UPDATE user_vote SET container = CONCAT(container , ,iljadu) WHERE user_id = 4

有什么不对查询?

回答

4

你缺少你周围的变量报价为concat()

$query = 'UPDATE `user_vote` SET `container` = CONCAT(`container`, ' ; 
$query .= ",'$glas'"; 
$query .= ') WHERE `user_id` = ' . $id_u; 
$this->db->query($query); 
+0

'$ glas'可能包含列标识符,但我怀疑你是正确的。尽管如此,仍然有很多逗号... ;-) – DaveRandom 2012-08-10 13:13:40

+0

@DaveRandom Concat()可以包含列名或字符串。在这种情况下,我的大鼻子告诉我,它是一个字符串,正在追加一列 - 在这种情况下,周围缺少引号。我对这个有很好的感觉:) – Fluffeh 2012-08-10 13:16:39

+0

这是工作,谢谢:)。 @DaveRandom我需要昏迷,但我把它放在错误的地方。 **“,'$ glas'”; **应该是**“',$ glas'”; **并且一切正常。 – Sasha 2012-08-10 13:16:51

1
$query .= ",$glas"; 

应该

$query .= "$glas"; 
+0

'CONCAT()'有以逗号分隔的参数? – Fluffeh 2012-08-10 13:14:32