【发布时间】:2025-12-23 07:30:11
【问题描述】:
我的 MySQL 数据库中有一个名为“children”的表。在该表中有一行称为“愿望”(以逗号分隔的孩子的愿望清单项目)。我需要能够更新该列表,以便它只删除一个值。即列表 = 12 号普通牛仔裤、冲浪板、红袜队棒球帽;我想移除 Surfboard。
我现在的查询是这样的
$select = mysql_query('SELECT * FROM children WHERE caseNumber="'.$caseNum.'" LIMIT 1 ');
$row = mysql_fetch_array($select);
foreach ($wish as $w) {
$allWishes = $row['wishes'];
$newWishes = str_replace($w, '', $allWishes);
$update = mysql_query("UPDATE children SET wishes='$newWishes' WHERE caseNum='".$caseNum."'");
}
但是 UPDATE 查询并没有删除任何内容。我该怎么做?
【问题讨论】:
-
我认为希望应该是它自己的表,并通过共享关键 caseNumber 链接回此处。
-
看起来缺少 1 个字符串连接,但一旦排序,您就会将此查询留给 SQL 注入 - 黑客真的会得到他们想要的。
-
@Daren - 这确实是正确的答案,数据库模型是错误的,需要修复。可惜对 cmets 的赞成票不算数
-
我希望它是自己的桌子,但它需要这样。
-
@sun-tzu 也许你已经解决了这个问题,但我为我的答案添加了另一个可能的解决方案。