Я изучаю PHP, поэтому простите меня, если мой вопрос несколько глупый.
Я создал форму для обновления записей в моей БД, которая включает в себя изменение вашего имени, возраста и изображения.Когда я обновляю запись без изменения изображения, она удаляет изображение (строку base64) из обновленной строки.
Как я могу проверить, было ли изображение изменено или нет, и если нет: оставить текущее без измененийили, другими словами, не обновлять это конкретное поле.Вот мой php-скрипт для обновления:
if( !is_null( $db ) && array_key_exists( 'edit_person', $_POST ) ):
$pn = filter_var( trim( $_POST['name'] ), FILTER_SANITIZE_STRING );
$n = filter_var( trim($_POST['age'] ), FILTER_SANITIZE_STRING );
// check if another image has been uploaded
$img = filter_var( trim($_POST['img'] ), FILTER_SANITIZE_STRING );
// if not: don't update img
$id = filter_var( trim ( $_POST['id'] ), FILTER_SANITIZE_NUMBER_INT );
update_person( $db, $id, $img, $n, $pn );
endif;
функция update_person:
function update_person( &$db, $id, $img, $age, $name ){
if( is_null( $db ) ) return '';
$sql = "
UPDATE
xxx
SET
xxx.name = :name,
xxx.age = :age,
xxx.img = :img
WHERE
xxx.id = :id
";
$vraag = $db->prepare( $sql );
$vraag->bindValue( ':name', $name, PDO::PARAM_STR );
$vraag->bindValue( ':age', $age, PDO::PARAM_STR );
$vraag->bindValue( ':img', $img, PDO::PARAM_STR );
$vraag->bindValue( ':id', $id, PDO::PARAM_INT );
$vraag->execute();
}
Любая помощь очень ценится!