2016-07-13 39 views
0

我有一个设置了目录中所有文件名称的表格。我希望能够从表和目录中删除所有具有特定属性的文件。例如,如果条目没有name那么我想删除它。我想使用的sql语句是delete from master where name = null,但是我无法从目录中删除该文件,因为我无法确定要删除哪个文件。在我删除它们之前,有没有办法将表中的条目中的值存储在数组中?从表格中删除条目并存储已删除条目的值

+0

在删除查询之前,您可以运行select查询。然后您可以将文件名称r删除查询。 –

回答

0

做一个选择第一:

SELECT * FROM master WHERE name = null 

然后存储在一个变量的结果,您可以用unlink($fileName)删除这些文件。

如果要有效地做到这一点的SQL的速度,去为你

DELETE FROM master WHERE name = null 

不过,我个人将通过文件循环,并做单独像这样:

$fileNames = your_sql_select_function("SELECT filename FROM master WHERE name = null"); 
    foreach($fileNames as $fileName) { 
     if(unlink($fileName)) { 
      your_sql_delete_function("DELETE FROM master WHERE filename = '$fileName'");    
     } 
     else { 
      // error report, do not delete it from database yet 
      // if you delete it, you won't be able to get the name later 
      // and the file will just hang in there until you 
      // handle it some other way 
     } 
    } 

当然你必须将your_sql_select_function和your_sql_delete_function替换为您将用于处理mysql的函数