我有这个脚本:
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) ;
?>