Обновление простых данных до зашифрованных через PHP

В связи с вступлением в силу новых правил GDPR в ЕС я хочу обновить очень простую систему бронирования мероприятий с простой файловой базы данных до зашифрованной.

В моей базе данных уже есть шифрование для входа в систему администраторами, но я планирую использовать AES_ENCRYPT для людей, для которых мы делаем заказы.

В настоящее время мы храним firstname, surname, email и telephone в таблице под названием event_candidate, и я знаю, как вызывать и обновлять одну строку, но мне нужен совет о том, как пакетно обновить все строки в базе данных.

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

$key = "insert_key_here";

$Get_Details = $dbconn->prepare('SELECT id, firstname, surname, telephone, email FROM event_candidate');
$Get_Details->execute();
if ($Get_Details->rowCount() > 0) {
    foreach ($Get_Details->fetchAll() as $Get_Details_Row) { 

    // Run the update
    $Update_Details = $dbconn->prepare('UPDATE event_candidate SET 
                                        firstname = AES_ENCRYPT(:firstname,'.$key.'), 
                                        surname = AES_ENCRYPT(:surname,'.$key.'), 
                                        telephone = AES_ENCRYPT(:telephone,'.$key.'), 
                                        email = AES_ENCRYPT(:email,'.$key.') 
                                        WHERE id = :id');
    $Update_Details->bindParam(':id', $Get_Details_Row['id'], PDO::PARAM_STR);
    $Update_Details->bindParam(':firstname', $Get_Details_Row['firstname'], PDO::PARAM_STR);
    $Update_Details->bindParam(':surname', $Get_Details_Row['surname'], PDO::PARAM_STR);
    $Update_Details->bindParam(':telephone', $Get_Details_Row['telephone'], PDO::PARAM_STR);
    $Update_Details->bindParam(':email', $Get_Details_Row['email'], PDO::PARAM_STR);
    if ($Update_Details->execute()) {
        // It worked!
    } else {
        // Error Checking
    }

    } 

} else {
    // Error Checking
}

UPDATE event_candidate SET firstname=aes_encrypt(firstname,'YOUR_KEY'), surname=aes_encrypt(surname,'YOUR_KEY'), ....; у вас не работает? Он должен зашифровать все поля одним пакетом.

Yuri Lachin 03.05.2018 13:30
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
1
26
0

Другие вопросы по теме