Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   SQL Renew (https://forum.antichat.xyz/showthread.php?t=73422)

lomerok 11.06.2008 14:56

SQL Renew
 
Пробую изменить уже записанное значение , таким образом :
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..."

или проще сказать делаю так
Код:

INSERT INTO news (caption) VALUES ('1516') WHERE id='2'
и выдаёт ошибку , почему ?(все значения верные)

groundhog 11.06.2008 15:03

Ломерок! Хотж инсертом меняет значения? Поэтому и получаешь конфликт по первичному ключу. Истинные одепты SQL меняют значения с помощью UPDATE. И с каких это пор в INSERT появились условия вставки? Кстати, заюзай лучше:

REPLACE INTO news (caption,news,text,avtor) VALUES ('$caption','$news','$text','$avtor')

Имхо, это будет не правильно, но для такого загубленного кода - самое то...

lomerok 11.06.2008 15:12

что значит загубленного ? в чем тут траблы ? вродебы код нормальный ...

groundhog 11.06.2008 15:14

1) Регистер глобалс не тру
2) Ошибки тоже надо обрабатывать
3) Писать тоже нада красиво (отсутпы и пр. и др.)

lomerok 11.06.2008 15:25

вот что получается :
Код:

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

почему теперь неработает ?

lomerok 11.06.2008 15:27

вот так тоже неработает UPDATE `news` (`caption`,`news`,`text`,`avtor`) VALUES (`ss`,`dd`,`ee`,`aa`) WHERE id=`2`

.Slip 11.06.2008 15:32

http://www.mysql.ru/docs/man/UPDATE.html

groundhog 11.06.2008 15:33

бля, я же по человечески написал - НЕТУ УСЛОВИЙ У ЗАПРОСОВ insert И replace!!! УБЕРИ Where!

Ты вообще синтаксис операторов знаешь? Может имеет смысл почитать то, на что Слип указал?

lomerok 11.06.2008 15:43

а у Update уусловие можно ставить ?

lomerok 11.06.2008 15:49

заработало спасибо


Время: 07:36