Удаление изображения из директории вместе с записью из бд mysql

rokrise

Новичок
есть таблица с столбцами id, title, image. в столбце image названия картинок (jyyk.jpg например). нужно чтобы при удалении записи из бд удалялась картинка из директории с именем которое записано в столбце image.
Правильно ли я код написал ? и можно ли все это провернуть используя лишь id из url строки ?

if (isset($_GET["id"]))
{
$id = mysql_real_escape_string($_GET['id']);
$image = mysql_real_escape_string($_GET['image']);

$result = mysql_query("SELECT * FROM products WHERE image = '$image'",$link);
$row = mysql_fetch_array($result);
$result = mysql_query("DELETE FROM products WHERE id = '$id'",$link);
$dir='../images/products/';
unlink($dir.$image);
mysql_close($link);
header('Location: tovar.php');
}


<a href="tovar.php?id='.$row["id"].'&image='.$row["image"].'" class="delete">Удалить</a>
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Достаточно указывать id, выбирать по нему данные и удалять, иначе тебе в путь картинки могут понапихать черти чего по самые помидоры.
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
@rokrise, у тебя где лежит название картинки? Вот оттуда и выбирай

PS: у тебя уже кстати есть выборка, с products, вопрос в паре строк кода.
 

rokrise

Новичок
все, получилось)
if (isset($_GET["id"]))
{
$id = mysql_real_escape_string($_GET['id']);

$result = mysql_query("SELECT image FROM products WHERE id = '$id'",$link);
$row = mysql_fetch_array($result);
$dir='../images/products/';
unlink($dir.$row[0]);
$result = mysql_query("DELETE FROM products WHERE id = '$id'",$link);
mysql_close($link);
header('Location: tovar.php');
}
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
@rokrise, уже лучше, но надо проверять, есть ли данные в колонке image, и есть ли файл вообще.
 

antson

Новичок
Партнер клуба
@rokrise, концептуальное уточнение .
удалять по get опасно.
подсунут тебе ссылку и все.
 
Сверху