Удаление магазина с принадлежащими ему товарами - PullRequest
0 голосов
/ 05 октября 2018

Я создаю магазин и добавляю элемент в магазин, затем пытаюсь удалить магазин и принадлежащие ему элементы.работает отлично (если есть товар принадлежащий магазину).но если нет элемента, принадлежащего хранилищу, то он не удаляет хранилище.Стиль показывает магазин в базе данных.Я работаю на localhost

Сначала я добавлю общее количество кодов, если кто-то захочет его попробовать.

Вот код:

if (isset($_GET['store_id']) && is_numeric($_GET['store_id'])){
$storeid = filterString($_GET['store_id']);

$bringa = bring_product_image($storeid);
foreach($bringa as $row);
$oldimage = "../images/items/".$row['item_image'];

$bring = bringstoreimage($storeid);
foreach($bring as $row);
$storeoldimage = "../images/stores/".$row['store_image'];

$stmt = $pdo->prepare('DELETE c,p FROM stores c
                        INNER JOIN products p ON c.store_id = p.storeid
                        WHERE store_id = :store_id
                        ');

$del = $stmt->execute(array(':store_id' =>$storeid));
if($del){
    unlink($storeoldimage);
    unlink($oldimage);
    $_SESSION['message'] = "Store deleted!";       
    header("location: success.php");
    exit(); 
}else{
    $_SESSION['message'] = "Something went wrong!";       
    header("location: error.php");
    exit(); 
}

}

Это часть кода, с которой у меня возникают проблемы.

  $stmt = $pdo->prepare('DELETE c,p FROM stores c
                            INNER JOIN products p ON c.store_id = p.storeid
                            WHERE store_id = :store_id
                            ');

1 Ответ

0 голосов
/ 05 октября 2018

Попробуйте использовать левое соединение.

$stmt = $pdo->prepare('DELETE c,p FROM stores c
                        LEFT JOIN products p ON c.store_id = p.storeid
                        WHERE store_id = :store_id
                        ');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...