下面是我试图按名称删除的file_name。我无法使用id删除它。
uploads\388804_152839054815672_876456439_n.jpg
字段名称为“file_name”。 这是我在phpMyAdmin中直接运行的sql,即使在从mysql表复制文件名后也是如此。
DELETE FROM `files` WHERE `file_name`='uploads\388804_152839054815672_876456439_n.jpg'
或者在我的编辑器中
// $_POST['f_name'] is 388804_152839054815672_876456439_n.jpg
$path = 'uploads';
$file_name = $path . DIRECTORY_SEPARATOR . $_POST['f_name'];
$sql = "DELETE FROM `files` WHERE `file_name`='$file_name'";
$query = $handler->query($sql);
if($query) {
// echo "success";
echo $sql;
} else {
echo "failure";
}
即使是Select语句也会返回空集。
SELECT * FROM `files` WHERE `file_name`='uploads\388804_152839054815672_876456439_n.jpg'
返回
MySQL returned an empty result set (i.e. zero rows). (Query took 0.0010 seconds.)
答案 0 :(得分:1)
上传后再添加一个正斜杠(uploads\\388804_152839054815672_876456439_n.jpg
),它将\3
解释为转义字符。