Автор Тема: Ошибка в коде при написании скрипта перезаписывающего строчку в MySQL таблице  (Прочитано 5109 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн himera

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 10
  • +0/-0
  • 0
    • Просмотр профиля
    • http://clanwolf.best-host.ru
Вот код который по разумению моему должен заносить данные из формы в таблицу ГДЕ значение солбца news_id равное id новости
 
Цитировать
include (\'config.php\');
if (!mysql_error()) {
  while ($row = mysql_fetch_row($result)) {
switch ($edit) {
    case $row[3] : {

 print $row[3];
print "
\\n";
  print $row[2];
print "
\\n";
   print $row[1];
print "
\\n";
    print $row[0];
print "

\\n";

print "
 

Çàãîëîâîê


 


 

Òåêñò íîâîñòè


 


 


\\n";

print "
\\n";
         }
break;
    case \'save\':  {
            $save="UPDATE news SET ntitle= \'$T1\' , ntext= \'$S1\' WHERE news_id=\'$row[3]\'";
            mysql_query($save);

            }
break;


 default:
}

    };
  }
mysql_free_result ($result);
print "
ãëàâíàÿ \\n";
?>

Но вместе того чего я хотел он перезаписывает все значения столбцов ntitle и ntext
Как я понимаю я напутал вот тут
Цитировать
WHERE news_id=\'$row[3]\'";

Но вот как правельно это написать убей не соображу!
Подскажите пожалуйста.

Оффлайн sarutobi

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 61
  • +0/-0
  • 0
    • Просмотр профиля
himera
Правильно думаешь :))

"...WHERE news_id=".$row[3];

Запомни два простых правила:
1. В отличие от обычной переменной элемент массива не отдает значения при подстановке в строку с двойными кавычками.
2. Строго числовые значения (такие как первичный ключ) в апострофы не заключают. Это прерогатива строк и дат.

Оффлайн himera

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 10
  • +0/-0
  • 0
    • Просмотр профиля
    • http://clanwolf.best-host.ru
sarutobi
Большой спасибо за ответ. Исправил, но к сожалению не чего не изменилось. :(

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://

Оффлайн himera

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 10
  • +0/-0
  • 0
    • Просмотр профиля
    • http://clanwolf.best-host.ru
Цитировать
PHP FAQ: Ничего не работает! Что делать???

Умно.
Что такое Дабаг я знаю, и суть проблемы понимаю. Не понимал только как это исправить.
На текущей момент проблему устранена.
Всем спасибо! :)

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
sarutobi
запомни два простых правила.
1. Точно так же, как обычная переменная, элемент массива отдает значения при подстановке в строку с двойными кавычками.
2. Строго числовые значения (такие как первичный ключ) в апострофы лучше бы заключить, для надёжности

Оффлайн himera

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 10
  • +0/-0
  • 0
    • Просмотр профиля
    • http://clanwolf.best-host.ru
Запомню.
Большой пасибо!

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
himera
по поводу твоего заявления.
по ссылке, которую я дал, даны исчерпывающие рекомендации, как решать твою проблему.
Там написано в 10 раз больше, чем ты знаешь.

поэтому не надо тут рассказывать, что ты всё знаешь.
Знал бы - сделал всё сам.

Те, кто знают, что такое отладка, не пишут соплями по воде вроде "как я понимаю, напутал я тут". А пишут чётко: "хочу получить то-то, а а получаю это. почему?"
А ты задаёшь вопрос, не будучи даже уверенным, в чём проблема.

Оффлайн himera

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 10
  • +0/-0
  • 0
    • Просмотр профиля
    • http://clanwolf.best-host.ru
Цитировать
Те, кто знают, что такое отладка, не пишут соплями по воде вроде "как я понимаю, напутал я тут".  

Во первых давай те не будем грубить.
Во вторых на момент написания поста прекрасно понимал, что не правельно указал WHERE и просто обратился за помощью дабы помогли найти ошибку, что бы впредь стараться умышлено не допускать.
В третьих
Цитировать
А пишут чётко: "хочу получить то-то, а а получаю это. почему?"

Я именно так и сказал:
"Вот код который по разумению моему должен заносить данные из формы в таблицу ГДЕ значение солбца news_id равное id новости
"
"Но вместе того чего я хотел он перезаписывает все значения столбцов ntitle и ntext"
В четвертых я уже сказал "На текущей момент проблема устранена.
Всем спасибо!"

ЗЫ Поскольку вопрос решен тему считаю закрытой. Ещё раз Спасибо за содействие в отладке скрипта!

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
если у тебя проблема с SQL запросом, то и надо показывать ТОЛЬКО SQL запрос.
а не гору пхп кода, как это сделал ты
впрочем, всё это написано по ссылке. которую ты так и не удосужился прочитать, считая, что ты и так всё на свете знаешь

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28