У меня есть проблема по запросу INSERT INTO,
В регистрационной форме, когда пользователь вводит имя пользователя и выбирает отдел / центр в качестве стипендии,
Я хочу вставить это имя пользователя в таблицу стипендию.
То, что я пытался это;
$query14 = "INSERT INTO bursary (UserName) VALUES
('$UserName') WHERE DepartCent='Bursary'";
$result14=mysql_query($query14);
Моя таблица называется стипендия, и это выглядит так;
UserID UserName
1 ( ) <---- I want only UserName that choose department/center as bursary
Пожалуйста, кто-нибудь, помогите мне решить это, оцените это.
Запросы INSERT подразумевают добавление данных, которых там еще нет. Если вы хотите вставить значение, полученное из запроса, вам нужно использовать фактический запрос, чтобы получить его. Предложение WHERE не выполняется, потому что нет строки для проверки, пока вы не вставите ее.
На самом деле недостаточно информации, чтобы понять, что вы пытаетесь сделать, но если мы просто перейдем к этой части вашего вопроса:
«Я хочу только имя пользователя, которое выберет отдел / центр в качестве стипендии»
Тогда вы, вероятно, ищете INSERT..SELECT (предполагается, что вы уже вставили данные в какую-то другую пользовательскую таблицу ‘your_user_table’)
INSERT INTO bursary(UserName)
SELECT UserName from your_user_table
WHERE DepartCent='Bursary';
Вы также можете:
Только когда вы пытаетесь изменить значения существующих строк, имеет смысл указать предложение WHERE, чтобы база данных знала, какие значения вы хотите изменить.
РЕДАКТИРОВАТЬ: Не могли бы вы объяснить еще раз, что именно вы пытаетесь достичь? Вы хотите вставить только некоторых пользователей, заполняющих вашу форму? А именно те, которые выбирают стипендию в качестве своего отдела?
Почему бы вам не изменить структуру таблицы на что-то вроде:
Стол ОТДЕЛ:
Название отдела, идентификатор отдела
Таблица USER:
Имя пользователя, идентификатор отдела (внешний ключ к отделу)
РЕДАКТИРОВАТЬ Nr. 2: способ сделать это путем нормализации структуры таблицы. Предположим, произошло одно из следующих событий:
Таким образом, путь состоит в том, чтобы спроектировать ваши таблицы таким образом, чтобы они разделяли различные «вещи» в вашей программе. Один тип вещей, с которыми вы работаете — это отделы (стипендии, …), другой тип вещей — это пользователи. В качестве грубой отправной точки попробуйте составить таблицу для каждого и попытаться связать таблицы с помощью так называемых внешних ключей. Прочитайте это так:
Затем вы можете позже присоединиться к этим таблицам, чтобы узнать всех пользователей отдела X, …
Выберите u.userName, d.departmentName от пользователя u INNER JOIN Department
u.departmentId = d.departmentId
Это покажет вам имена всех ваших пользователей и связанных с ними отделаName