Обновите таблицу MYSQL, если имя уже в БД - PullRequest
0 голосов
/ 02 мая 2018

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

В настоящее время я отправляю данные в базу данных следующим образом:

$sql="INSERT INTO gdpr_info (name, email, phone, comments, phoneout, emailout, postout, phonein, emailin, postin) VALUES ('".$yourName."','".$yourEmail."', '".$yourPhone."', '".$comments."','".$phoneout."','".$emailout."','".$postout."','".$phonein."','".$emailin."','".$postin."')";

Как бы я обновил строку пользователя ТОЛЬКО, если имя совпадает, например, если пользователь по имени 'Робби Фаулер' хочет обновить свою электронную почту, он перейдет в форму, введет свое имя и все, что он вставит после того, как будет обновите его вместо создания новой.

Я видел опцию дубликата ключа, но в форме есть флажки, поэтому я боюсь, что если я использую это, большинство форм будет иметь по крайней мере один дубликат ключа из-за флажка, и он будет обновлять неправильно строки.

Можете ли вы указать, какой столбец должен дублироваться для обновления строки?

1 Ответ

0 голосов
/ 02 мая 2018

Если он пользователь хочет обновить свои данные, я думаю, вы используете запрос обновления MySQL, чтобы узнать, как это будет сделано. Сначала выберите пользователя из базы данных. Пользователь может быть авторизованным пользователем, который хочет обновить Затем обновите столбец электронной почты, как это UPDATE table-name SET column ='.$_POST['newvalue'].' WHERE namecolumn ='.$loggedINuser.';

Или, если вы хотите изменить имя, как вы сказали в вопросе, с вводом имени и новым адресом электронной почты, тогда UPDATE table-name SET column ='..$_POST['newvalue'].' WHERE namecolumn ='.$_POST['name'].';

А также, я думаю, в таблице может быть только одно первичное поле, поэтому просто посмотрите, что у вас может быть несколько уникальных столбцов, но один первичный столбец (для этого рекомендуется столбец id)

Надеюсь, это сработает

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...