Я работаю над запросом обновления, где значения должны обновляться только тогда, когда значение не равно null или пусто. Теперь он обновляет все, независимо от значения. Пожалуйста, помогите мне с этим.Обновление только тогда, когда значение не равно null mySQL
$query = "UPDATE bundels
SET batchkosten = CASE WHEN ". $_POST['batchkosten'] . " IS NOT NULL
THEN ". $_POST['batchkosten'] . "
ELSE batchkosten
END CASE,
CASE WHEN ". $_POST['maandelijkse_kosten'] . " IS NOT NULL
THEN ". $_POST['maandelijkse_kosten'] . "
ELSE maandelijkse_kosten
END CASE,
CASE WHEN ". $_POST['aanmeldkosten'] . " IS NOT NULL
THEN ". $_POST['aanmeldkosten'] . "
ELSE aanmeldkosten
END CASE,
CASE WHEN ". $_POST['transactiekosten'] . " IS NOT NULL
THEN ". $_POST['transactiekosten'] . "
ELSE transactiekosten
END CASE,
CASE WHEN ". $_POST['referral'] . " IS NOT NULL
THEN ". $_POST['referral'] . "
ELSE referral
END CASE,
CASE WHEN ". $_POST['actief'] . " IS NOT NULL
THEN ". $_POST['actief'] . "
ELSE actief
END CASE
WHERE bundel_id = ". $_POST['bundel_id'] . "";
$result = mysql_query($query, $db) or die ('FOUT: werkt niet');
header ("Location: vergelijker_bewerken.php");
} else {
$bundels = mysql_query("SELECT bundels.psp_id, psp.psp_id, psp_naam, bundels.bundel_id, batchkosten, maandelijkse_kosten, aanmeldkosten, transactiekosten, referral, actief from bundels
JOIN psp
ON psp.psp_id = bundels.psp_ID");
}
Какое значение вы имеете в виду? – Pupil
1. Прекратите использование функций 'mysql_'. Они устарели и были годами. Они также не поддерживаются и не получают обновлений безопасности. 2. Ваш код очень открыт для SQL-инъекции. Используйте 'PDO' или' MySQLi' с подготовленными операторами и привяжите переменные. Нетрудно изменить '$ _POST ['bundel_id']' на ''' ИЛИ 1 = 1', чтобы изменить все записи в базе данных. Связанные переменные исправят это. – h2ooooooo