在 MySQL 中添加新数据到旧数据


add new data to the old in mysql

我有这个脚本:

foreach ($_GET[selected] as &$value) {
    echo "$value|";
    mysql_query("UPDATE ordre SET enheder='$row3[enheder]|$value' WHERE id='1'") or die(mysql_error());
}

它没有做我想做的事。我希望它将数组$value中的字符串添加到 MySql 中已有的休息中。

如果

$value = "Server1|Server2|Server3|";

然后它应该将"enheder"更新为"OLD TEXT|服务器1|服务器2|服务器3|"但它没有?

最好在 php 中构建要添加的字符串,然后使用 MySQL 的 CONCAT() 函数将这一个字符串添加到数据库中已有的值中。此外,当您从用户输入创建 sql 时,转义此输入也很重要。

您可以执行上述操作的一种方法是:

<?php
    $values = mysql_real_escape_string(implode("|", $_GET['selected'])) ;
    $sql = "
UPDATE ordre
SET enheder = CONCAT(enheder, '|', '{$values}')
WHERE id = '1'
    " ;
    mysql_query($sql) ;
?>