mysql在文件删除时返回空集

时间:2016-06-05 10:02:32

标签: mysql

下面是我试图按名称删除的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.)

1 个答案:

答案 0 :(得分:1)

上传后再添加一个正斜杠(uploads\\388804_152839054815672_876456439_n.jpg),它将\3解释为转义字符。