UPDATE тип входного файла на странице редактирования PHP - PullRequest
0 голосов
/ 17 марта 2019

Я пытаюсь обновить страницу, которая также имеет тип входного файла, и когда я пытаюсь обновить страницу, запрос не будет работать, когда он достигнет значения типа файла, которое является пустым, поскольку я не хочу его обновлять .

<form method="post" id="form" action="edit.php" class="form-horizontal" enctype="multipart/form-data">
    <?php $result = mysqli_query($conn,"SELECT * FROM brands WHERE id='".$_GET['id']."'"); while($row = mysqli_fetch_array($result))
    {?>
    <label >Brand Name</label>
    <input type="text" name="brandName" id="brandName" value="<?php echo $row['brand_name'] ?>" required />
    <label class="col-md-3 control-label">Brand Type</label>
    <select data-plugin-selectTwo class="form-control populate" name="brandType" id="brandType">
            <option value="select" >Select an Option</option>
            <option value="Products" <?php if($row['brand_type'] == 'products') { ?> selected="selected"<?php } ?>>Products</option>
            <option value="Services" <?php if($row['brand_type'] == 'services') { ?> selected="selected"<?php } ?>>Services</option>
        </select>
    <label >Brand Logo</label>

    <img src="<?php echo ASSETS.$row['brand_logo'] ?>" max-width="200px"/>
        <input type="file" name="brandLogo"  id="brandLogo"/>
    <label class="col-md-3 control-label">Status</label>
    <select data-plugin-selectTwo class="form-control populate" name="status" id="status">
            <option value="select">Select an Option</option>
            <option value="ok" <?php if($row['status'] == 'ok') { ?> selected="selected"<?php } ?>>OK</option>
            <option value="pending" <?php if($row['status'] == 'pending') { ?> selected="selected"<?php } ?>>Pending</option>
            <option value="removed" <?php if($row['status'] == 'removed') { ?> selected="selected"<?php } ?>>Removed</option>
        </select>
    <?php }?>
        <button type="submit" id="submit" name="submit" class="btn btn-primary">Update</button>

Я могу просмотреть старое изображение, и если я не хочу его обновлять, то как мне использовать запрос ОБНОВИТЬ, что я использую, как это неправильно:

if(isset($_POST['submit']))
{
$brandName = $_POST['brandName'];
$brandType = $_POST['brandType'];
$brandLogo = "/images/".$_POST['brandLogo'];
$status = $_POST['status'];
$id = isset($_GET['id']) ? $_GET['id'] : '';

$sql = "UPDATE `brands` (`brand_name`, `brand_type`, `brand_logo`,  `status`)VALUES ('".$brandName."', '".$brandType."', '".$brandLogo."', '".$status."') WHERE id='".$id."'";


$result = mysqli_query($conn,$sql) or die(mysqli_error($conn));;
if($result){$msg = urlencode($brandName." has been updated");
header("Location: http://example.com/brands/index.php?added=".$brandName);
//echo "update";
}else{$msg = $brandName." cannot be updated.";
//echo "not update";
}
}

Я не загружаю изображение, а просто добавляю его URL. Это то, что вызывает проблему?

Это ошибка, которую я получаю У вас есть ошибка в вашем синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MariaDB, на предмет правильного синтаксиса для использования рядом с '(brand_name, brand_type, brand_logo, status) VALUES (' IFB ',' Services ',' 'в строке 1

1 Ответ

0 голосов
/ 17 марта 2019

Измените запрос UPDATE на

$sql = "UPDATE `brands` SET `brand_name` = '".$brandName ."', `brand_type` = '".$brandType."', `brand_logo` = '".$brandLogo ."', `status` = '" . $status ."' WHERE id = '" . $id . "'";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...