2016-07-26 58 views
0

我有一個代碼,應該從mysql表中刪除圖像名稱和服務器文件夾中的實際圖像。該名稱將從數據庫中刪除,但實際圖像不會被刪除。下面是代碼:取消鏈接多個圖像使用循環

$sql_queryy = "SELECT imImage FROM gimage WHERE imID = '$chkbxk'"; 
$photoresultt = mysqli_query($connBiscup, $sql_queryy); 
//$row_album_images = mysqli_fetch_assoc($photoresultt); 

while ($row = mysqli_fetch_assoc($photoresultt)) { 

     unlink($target . $row[0]); 
     unlink($targett . $row[0]); 
} 

任何幫助,請

,這是最初的代碼。

for($i=0; $i<$N;$i++){ 

      $chkbxk = $_POST['checkbox'][$i]; 

      $sql_queryy = "SELECT imImage FROM gimage WHERE imID = '$chkbxk'"; 
      $photoresultt = mysqli_query($connBiscup, $sql_queryy); 
      //$row_album_images = mysqli_fetch_all($photoresultt); 
      foreach ($row_album_images as $row) 
      { 
       unlink($target . $row[0]); 
       unlink($targett . $row[0]); 
      } 
} 

但由於mysqlnd問題,我改爲while循環。

+0

如果$ target和$ targett是正確的路徑,那麼checout文件夾的權限。 –

+0

我建議你迴應你的路徑,並確保它們指向正確的位置。 –

+1

而'mysqli_fetch_assoc'提取關聯數組。 –

回答

1

您需要更改mysqli_fetch_assocmysqli_fetch_array

mysqli_fetch_assoc將返回關聯數組(即['imImage'=>'img1']

mysqli_fetch_array將同時返回關聯和數字陣列(即[0=>'img1','imImage'=>'img1'])。

否則 您可能會重寫循環體以使用關聯數組。

while ($row = mysqli_fetch_assoc($photoresultt)) { 

     unlink($target . $row['imImage']); 
     unlink($targett . $row['imImage']); 
} 
+0

感謝@Amial將其更改爲數組正常工作。 –