-1
A
回答
0
可以運行兩個queries.That會是這樣:
SELECT id, relevant_field from my_table WHERE the_condition_for_the_rows_to_delete.
再進行第二次查詢:
DELETE FROM my_table WHERE id IN (the_ids_you_got_with_the_first_select)
之後,你將刪除與第一個查詢的結果相關聯的文件。
0
您可以使用PHP的unlink()
函數刪除文件(docs here)。
首先做一個查詢來獲取文件的位置,然後通過結果運行一個循環:
$mysqli = new mysqli("localhost", "user", "password", "database");
$results = $mysqli->query("SELECT id,file_path FROM table WHERE whatever")->fetch_assoc();
foreach($results as $result) {
unlink($row['file_path']);
$mysqli->query("DELETE FROM table WHERE id = " . $row['id']);
}
確保您淨化任何用戶提交的輸入,以避免SQL注入。
編輯:這不是最有效的方式做到這一點 - 我已經證明了這種方式簡化代碼,你會過得更好添加ID,以一個數組,然後刪除所有行中單個查詢。
1
以下行刪除全部在「標題」列中包含單詞「Cron」的行。
mysqli_query($con,"delete from `foexstco_rr`.`Timings` where `Title`='Cron'");
下一行刪除一切。
mysqli_query($con,"delete from `foexstco_rr`.`Timings`");
該行刪除了包含3個條件的行。請注意,**和**必須分隔每個條件。
mysqli_query($con,"delete from `foexstco_rr`.`Timings` where `Number`='77' and `Title`='Cron' and `Cols`='1'");
如果您打印的mysqli的響應,「1」將意味着命令已進行,但並不一定意味着任何行已被刪除。 「0」表示命令被錯誤地寫入。
相關問題
- 1. mysqli查詢刪除
- 2. 選擇和刪除行mysqli查詢
- 3. mysqli刪除查詢不起作用
- 4. 從MYSQLI查詢中刪除db $ conn
- 5. mysqli刪除
- 6. 刪除查詢不刪除
- 7. 刪除查詢
- 8. mysqli刪除查詢返回布爾值false
- 9. 從2個mysqli查詢中刪除相同的值
- 10. 會話刪除mysqli
- 11. Mysqli OOP查詢
- 12. Mysqli多查詢
- 13. mysql查詢到mysqli查詢
- 14. MySQLi刪除語句不會刪除
- 15. SQL查詢刪除
- 16. tsql:刪除查詢
- 17. Sequelize.js刪除查詢?
- 18. 刪除mysql查詢
- 19. Android刪除查詢
- 20. 刪除子查詢
- 21. MySQL刪除查詢
- 22. ADO刪除查詢
- 23. MongoDb刪除查詢
- 24. SQL查詢刪除
- 25. SQL刪除查詢
- 26. MySqli全文查詢
- 27. 編寫mysqli查詢
- 28. 上的MySQLi查詢
- 29. Php run MySqli查詢
- 30. 構建mysqli查詢?
這就是爲什麼你應該將文件存儲在數據庫中,而不是路徑。 – vascowhite 2013-04-21 17:19:05
@vascowhite你是什麼意思? – 2013-04-21 17:46:42
RTLM:http://php.net/unlink @vasco:db中的文件是一個好主意。從刪除查詢中殺死「文件」的次要效率增益也不足以彌補其帶來的所有其他麻煩 – 2013-04-21 17:48:42