9

试图使用 mysql 的 concat 函数将文本添加到 mysql 中的现有值?

所以现有值当前是“john”,函数运行后将是“johnewvalue”

我正在尝试在我的数据库 ptb_messages 的主题列中的现有文本中添加一段文本“:回复”。

我正在尝试使用 mysql 的 concat 函数来做到这一点,但我没有得到任何结果。

$sql = mysql_query("UPDATE ptb_messages SET subject = CONCAT subject, 'newvalue' WHERE id='".$message_id."'"); 

有人可以告诉我一种让它做我想做的事情的方法。谢谢。

4

1 回答 1

26

它应该是

UPDATE ptb_messages 
SET subject = CONCAT( subject, 'newvalue')
WHERE ... 

在 PHP 中

$sql = mysql_query("UPDATE ptb_messages SET subject = CONCAT(subject, 'newvalue') WHERE id='".$message_id."'"); 

作为旁注,SQL Injection如果变量的值(s)来自外部,则查询很容易受到攻击。请看下面的文章,了解如何预防。通过使用PreparedStatements,您可以摆脱在值周围使用单引号。

于 2013-02-11T15:52:03.343 回答