Как игнорировать пустые поля при вставке в базу данных MySQL? - PullRequest
0 голосов
/ 03 ноября 2011

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

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

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

Есть ли способ сделать запрос MySQL или что-то еще, что игнорирует пустые значения?

$headerimage=($_FILES['headerimage']['name']); 
$cktest = $_POST['editor1'];
$LikeText = $_POST['editor2'];

$sql = "UPDATE installs SET noLikeText = '$cktest', LikeText = '$LikeText', headerImage = '$headerimage' WHERE pageID = '$page_id'";

Ответы [ 3 ]

1 голос
/ 08 ноября 2012

Вы можете использовать это ...

Например

if($headerimage != "")
{
$sql = "UPDATE installs SET noLikeText = '$cktest', LikeText = '$LikeText', headerImage = '$headerimage' WHERE pageID = '$page_id'";
}else{

$sql = "UPDATE installs SET noLikeText = '$cktest', LikeText = '$LikeText' WHERE pageID = '$page_id'";
}
0 голосов
/ 03 ноября 2011

Вы должны начать с показа запросов. Я полагаю, вы не правильно пишете свой запрос на обновление.

$file = "";
if(isset($_FILES['file']['tmp_name']))
{
    //handle images here
    $file = "`file` = 'some_filename.txt', ";
}
$sql = "UPDATE `table` SET $file `field` = '".mysql_real_escape_string($some_value)."' WHERE `id` = '".mysql_real_escape_string($some_id)."'";

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

0 голосов
/ 03 ноября 2011

Похоже, вам нужно добавить немного логики в ваше приложение.Большую часть времени, которое вы запрашиваете, можно выполнить, добавив в форму флажок «удалить», поэтому, если пользователь щелкнет флажок «Удалить», он удалит строку, если этого не произойдет, тогда ничего не произойдет в отношении файла.

...