我正在尝试从表HORSE
和列HORSE_IMAGE
$path = "horse_images/".$row["HORSE_IMAGE"];
$query = "DELETE FROM HORSE WHERE HORSE_ID=".$_GET["horseno"]." AND HORSE_IMAGE=".$row["HORSE_IMAGE"];
目前HORSE_IMAGE
不返回任何内容,但如果我将其更改为HORSE_ID
或HORSE_NAME
,则无效。
即。如果我回声$row["HORSE_NAME"]
它会返回“你的美丽”。
如果我在数据库中查找行,我可以看到文件名shop-1.jpg
就在那里。
有什么想法吗?
答案 0 :(得分:1)
如果要更改行的单个列,请使用UPDATE语句。 DELETE仅用于删除完整行。是的,在查询中使用它之前逃避任何事情。
"UPDATE HORSE SET HORSE_IMAGE = NULL WHERE HORSE_ID=".(int)$_GET["horseno"];
答案 1 :(得分:1)
据我所知,ToBe的答案可能是正确的,但你真的应该考虑使用PDO进行MySql查询,以防止Sql注入。 尝试:
<?php
$query = "UPDATE HORSE SET HORSE_IMAGE = NULL WHERE HORSE_ID = ?";
$db = new PDO(dsn, username, password);
$prep = $db->prepare($query);
$res = $prep->execute(array((int)$_GET["horseno"]));
?>
查看文档:{{3}}