Как отредактировать уникальное поле в базе данных mysql?

#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 на что-то другое.

У вас есть старое значение для кода в этом контексте? Если нет — вам нужно передать его туда через запрос страницы или сеанс.