我有这个脚本:
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 |”但它没有?
答案 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) ;
?>