如何更新php mysql中的数据?

how to update data in php mysql?

假设我想更新消息行而不删除上一条消息。例如:行消息有当前值"hello",现在我想添加"hi"而不替换单词"hello"。所以结果应该是"hello hi"。

我试过下面的代码,但它不起作用:

$text="hi";

$sql = "UPDATE class SET message= message+'$text' WHERE id=2";

$sql = "UPDATE class SET message= 'message'.'$text' WHERE id=2";

抱歉,我的英语不太好。感谢帮助

您可以使用 mysql 的 concat() 函数将数据附加到字段:

$sql = "update class set message = concat(ifnull(message,"")," ".'$text') where id=2";

您可能还想在添加新内容之前考虑 space!

嗯,你首先应该真正了解 SQL injection (and how to prevent it, including Prepared Statements)。

您可以在 SQL 中使用 CONCAT() 函数执行此操作:

$sql = "UPDATE class SET message = CONCAT(message, '$text') WHERE id=2";

在您的 mysql 查询中尝试使用 CONCAT。

$text = "hi";
$myQuery = "UPDATE class SET message= CONCAT(message,'".$text."') WHERE id=2";

您应该使用用于连接字符串的 CONCAT 函数。 在这里,由于您使用的是 php 变量的内容,因此最好从 mysql 查询中转义 php 变量,例如 '".$text."';

看看MySql的CONCAT()函数:

$sql = "UPDATE class SET message=CONCAT(message, '".$text."') WHERE id=2";

应该可以解决问题。

你可以试试这个:

$sql = "UPDATE class SET message=CONCAT(message, '$text') WHERE id='2'";

但是,请注意这很容易受到 SQL 注入