AngenOfBATYA
@AngenOfBATYA

Как сделать правильный UPDATE данных на сайте php?

Есть две строки ""name,"name1" если хочу обновить только name а name 1 остаётся пустой , то база обновляет столб name1 пустым. Как обновлять только нужный input если она не пустая ?
068480a3a56f440a8779415dfcb25b74.PNG41995fde84b24719abb93930e88ef1aa.PNG
  • Вопрос задан
  • 475 просмотров
Решения вопроса 2
  1. У вас тут SQL-инъекций разбросано много
  2. Примерно так:
    $updatingFields = [];
    
    foreach (['name', 'familia'] as $field) {
        if (isset($_POST[$field]) && $fieldValue = trim($_POST[$field])) {
            $updatingFields[] = sprintf("%s = '%s'", $field, $link->real_escape_string($fieldValue));
        }
    }
    
    $result = null;
    if (count($updatingFields)) {
        $query = sprintf(
            "
                UPDATE users
                SET %s
                WHERE id = '%s'
            ",
            implode(', ', $updatingFields),
            $link->real_escape_string($id)
        );
    
        $result = $link->query($query);
    }

  3. Узнайте что такое подготовленные выражения и PDO или любой другой Database abstraction layer
  4. Узнайте что такое query builder
Ответ написан
Uwe_Boll
@Uwe_Boll
Я Злой и Страшный Уве Болл в Разработке знаю Толк
заведи массив с названиями полей а потом гуляй по посту foreach'em и проверяй существует ли ключ в массиве полей и пустое ли значение значение в посте дальше логику Сам додумаешь
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
iNickolay
@iNickolay
Вопрос вообще непонятен. В привидённом вами скрине даже нет переменной name1
Уточните, о чём вы?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽
25 апр. 2024, в 12:03
75000 руб./за проект
25 апр. 2024, в 11:49
25000 руб./за проект
25 апр. 2024, в 11:37
40000 руб./за проект