Пробую изменить уже записанное значение , таким образом : PHP: if($zapros=='edit') { $edit_query="SELECT * FROM news WHERE id='$use_id'"; $edit_select=mysql_query($edit_query); $edit_reply=mysql_fetch_row($edit_select); print '<br><form method="GET"> <br><input type="hidden" name="zapros" value="edit"> <br><input type="hidden" name="table" value="news"> <br><input type="hidden" name="id" value="'.$edit_reply[0].'"> <br>Введите заголовок:<br><input type="text" name="caption" value="'.$edit_reply[3].'"> <br>Введите новось:<br><textarea name="news" cols=60 rows=7>'.$edit_reply[4].'</textarea> <br>Введите текст:<br><textarea name="text" cols=60 rows=7>'.$edit_reply[5].'</textarea> <br>Введите своё имя :<br><input type="text" name="avtor" value="'.$edit_reply[6].'"> <br><input type="submit" value="Добавить новость"> <br></form>'; $edit_write="INSERT INTO news (caption,news,text,avtor) VALUES ('$caption','$news','$text','$avtor') WHERE id='$use_id'"; $write_query=mysql_query($edit_write); print "Editing OK..."; или проще сказать делаю так Code: INSERT INTO news (caption) VALUES ('1516') WHERE id='2' и выдаёт ошибку , почему ?(все значения верные)
Ломерок! Хотж инсертом меняет значения? Поэтому и получаешь конфликт по первичному ключу. Истинные одепты SQL меняют значения с помощью UPDATE. И с каких это пор в INSERT появились условия вставки? Кстати, заюзай лучше: REPLACE INTO news (caption,news,text,avtor) VALUES ('$caption','$news','$text','$avtor') Имхо, это будет не правильно, но для такого загубленного кода - самое то...
1) Регистер глобалс не тру 2) Ошибки тоже надо обрабатывать 3) Писать тоже нада красиво (отсутпы и пр. и др.)
вот что получается : Code: SQL-запрос: REPLACE INTO news( caption, news, text, avtor ) VALUES ( 'ss', 'dd', 'ee', 'aa' ) WHERE id = '2' Ответ MySQL: #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE id='2'' at line 1 почему теперь неработает ?
вот так тоже неработает UPDATE `news` (`caption`,`news`,`text`,`avtor`) VALUES (`ss`,`dd`,`ee`,`aa`) WHERE id=`2`
бля, я же по человечески написал - НЕТУ УСЛОВИЙ У ЗАПРОСОВ insert И replace!!! УБЕРИ Where! Ты вообще синтаксис операторов знаешь? Может имеет смысл почитать то, на что Слип указал?
Правильный код: PHP: mysql_query("UPDATE news SET caption = '{$caption}', news = '{$news}', text = '{$text}', avtor = '{$avtor}' WHERE id = '{$use_id}'") or die(mysql_error()); На будущее