#php #mysql
#php #mysql
Вопрос:
Как отредактировать уникальное значение поля в базе данных mysql? если я отредактирую его в phpmyadmin, я получу то, что мне нужно, но если я сделаю это из .php по форме, мое поле не редактируется (Что не так?
вот sql-код
$result = mysql_query ("UPDATE client SET Code='$Code', FirstName='$FirstName', LastName='$LastName', DateBirth='$DateBirth', Other='$Other' WHERE Code=$Code");
Комментарии:
1. Я не понимаю: что вы делаете
"UPDATE client SET Code='$Code' ... WHERE Code=$Code"
… чего вы ожидаете от этого?2. я пытаюсь обновить информацию о клиенте, но в том же случае мне нужно изменить код, возможно, я получу свой ответ, проблема в ТОМ, ГДЕ )))
Ответ №1:
Как я уже говорил вам в своем комментарии, ваш запрос — бессмыслица, потому что вы пытаетесь обновить уникальное поле Code
тем же значением, которое оно уже есть внутри!!
Если вы пытаетесь обновить информацию о клиенте, вы должны сделать:
UPDATE client SET
FirstName = '$FirstName',
LastName = '$LastName',
DateBirth = '$DateBirth',
Other = '$Other'
WHERE Code = $Code
Если вам нужно изменить код, вы должны присвоить ему другое значение
UPDATE client SET
Code = $newCode,
FirstName = '$FirstName',
LastName = '$LastName',
DateBirth = '$DateBirth',
Other = '$Other'
WHERE Code = $Code
Обратите внимание, что если Code
столбец является строкой, вы должны использовать '$Code'
везде…
Ответ №2:
Вы должны попробовать это :
$result = mysql_query ("UPDATE client SET Code='$Code', FirstName='$FirstName', LastName='$LastName', DateBirth='$DateBirth', Other='$Other' WHERE Code='$Code'");
Комментарии:
1. т.е. измените
WHERE Code=$Code
наWHERE Code='$Code'
в случае, если $Code не (всегда!) содержит «чистое» число.2. $result = mysql_query («ОБНОВИТЬ клиентский НАБОР Code=’$Code’, FirstName=’$FirstName’, LastName =’$ LastName’, DateBirth =’$DateBirth’, Other = ‘$Other’, ГДЕ Code =$ CodeH»); это хорошо
Ответ №3:
Если вы настаиваете на изменении Code
поля, то, возможно, вам следует использовать другую переменную для WHERE
предложения, потому что в данный момент вы ищете значение «to-be» вместо текущего.
Ответ №4:
ваш запрос устанавливает код в $ Code, где Code — это $ Code, поэтому я бы предположил, что вам нужно изменить одну из этих ссылок на $ Code на что-то другое.
У вас есть старое значение для кода в этом контексте? Если нет — вам нужно передать его туда через запрос страницы или сеанс.