0
我有一個設置了目錄中所有文件名稱的表格。我希望能夠從表和目錄中刪除所有具有特定屬性的文件。例如,如果條目沒有name
那麼我想刪除它。我想使用的sql語句是delete from master where name = null
,但是我無法從目錄中刪除該文件,因爲我無法確定要刪除哪個文件。在我刪除它們之前,有沒有辦法將表中的條目中的值存儲在數組中?從表格中刪除條目並存儲已刪除條目的值
我有一個設置了目錄中所有文件名稱的表格。我希望能夠從表和目錄中刪除所有具有特定屬性的文件。例如,如果條目沒有name
那麼我想刪除它。我想使用的sql語句是delete from master where name = null
,但是我無法從目錄中刪除該文件,因爲我無法確定要刪除哪個文件。在我刪除它們之前,有沒有辦法將表中的條目中的值存儲在數組中?從表格中刪除條目並存儲已刪除條目的值
做一個選擇第一:
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的函數
在刪除查詢之前,您可以運行select查詢。然後您可以將文件名稱r刪除查詢。 –