台灣最大程式設計社群網站
線上人數
1486
 
會員總數:239296
討論主題:185657
歡迎您免費加入會員
討論區列表 >> PHP >> 如何同時刪除資料庫資料及電腦檔案
[ 變換順序 ]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
如何同時刪除資料庫資料及電腦檔案
價值 : 10 QP  點閱數:103 回應數:2

樓主

浩偉
門外漢
0 2
12 0
發送站內信

<?php
require_once("dbtools.inc.php");
$co_id = $_REQUEST["co_id"];
$link = create_connection();
if (isset($_POST["delete"]))
{
$sql = "DELETE FROM product Where co_id = '$co_id'";
if (!execute_sql($link, "ntw", $sql)) //執行SQL指令
$result = "刪除記錄失敗...<br/>" . mysqli_error();
else header("location:sa_product.php"); //成功就轉址
}
else
{
$sql = "SELECT * FROM product Where co_id = '$co_id'";
$result = execute_sql($link, "ntw", $sql);
$row = mysqli_fetch_assoc($result);
}
?>

===================================================================
上面是我們目前做的刪除mysql資料庫內資料的程式
他會抓取我們在網頁點選的產品的co_id,對應資料庫內的co_id按下刪除後,將該筆co_id的檔案全數刪除

但是因為我們再上傳co_id的資料時,可以上傳圖片,但我們能力目前只是把該圖片丟進電腦裡面的一個資料夾
而資料庫裡面圖片那欄則是去抓取對應到的圖片檔名(依照上傳日期時間編號)

那我現在做刪除的動作,只有辦法把資料庫內的那個co_id編號的東西都砍掉,但是電腦裡的圖片檔無法跟著一起砍
請問要怎麼寫程式,讓他可以去抓取co_id裡面的圖片欄位的名稱,並去刪除對應到電腦裡的圖片?

搜尋相關Tags的文章: [ 刪除檔案,抓取名稱 ] ,
本篇文章發表於2017-04-14 16:36
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
回應

clouding
捐贈 VP 給 clouding 檢舉此回應
下午好

1. $_REQUEST 最好不要用 $_POST $_GET 分清楚
2. 刪除資料庫內容之前,先 select 一次 刪除檔案?
本篇文章回覆於2017-04-14 17:48
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
回應

Ricky是我
檢舉此回應
input 的參數請不要直接拿來組 sql
input 的參數請不要直接拿來組 sql
input 的參數請不要直接拿來組 sql

很重要得說三次,這是個很經典的 sql injection ,資料庫會被清空的。
今天只要某個人把 $co_id 設成 "';DROP TABLE product;"
你的整個 product 就被刪除了
請參考一下 PDO prepare / execute 去避免掉這個問題吧。

本篇文章回覆於2017-04-19 09:57
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
[ 變換順序 ]   
1

回覆
如要回應,請先登入.