在mysql中向old添加新数据

时间:2013-10-29 22:00:51

标签: php mysql foreach

我有这个脚本:

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 | Server1 | Server2 | Server3 |”但它没有?

1 个答案:

答案 0 :(得分:2)

最好在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) ;
?>