Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Обновить записи БД через форму 
V
    Опции темы
Sice
  Дата 15.6.2014, 17:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Радио Онлайн
*


Профиль
Группа: Участник
Сообщений: 62
Регистрация: 4.12.2007

Репутация: 0
Всего: 0



Доброго времени суток друзья. Не получается почему-то обновить данные, которые вытаскиваю из бд по средствам формы.

Вот код:
Код

<html>
<head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <title>title</title>
    <link rel="stylesheet" href="style.css" type="text/css"  />
</head>
<body>
<center>
<?php
//Хост подключения к БД
 define('PHP_HOST', 'localhost');

 //Пользователь
 define('PHP_USER', 'root');

 //Пароль
 define('PHP_PASS','11111');

 //Базаданных
 define('PHP_DB', 'database');

 // Подключение к СУБД
 $link = mysql_connect(PHP_HOST, PHP_USER, PHP_PASS) or die (mysql_error());

 // Выбираем базу данных
 mysql_select_db(PHP_DB, $link);
 
 mysql_query ("SET NAMES utf8");
 mysql_query ("set character_set_client='utf8'");
 mysql_query ("set character_set_results='utf8'");
 mysql_query ("set collation_connection='utf8_general_ci'");
 
 if (isset($_POST["edit"])) {
     
    $_POST['id'] = $id;
    $_POST['date'] = $date;
    $_POST['news'] = $news;
    $_POST['comments'] = $comments;
    $_POST['kef'] = $kef;
    $_POST['result'] = $result;
    
    //Редактируем данные
 $update_sql = "UPDATE live SET date='$date', news='$news', comments='$comments', kef='$kef', result='$result' WHERE id='$id'"; 
 mysql_query($update_sql) or die("Ошибка вставки" . mysql_error()); echo '<p>Запись успешно обновлена!</p>';

 }

 $sql= "SELECT * FROM live ORDER BY id DESC";

 // Скармливаем наш запрос MySQL
 $result = mysql_query($sql) or die(mysql_error() ."<br/>". $sql);

 // Рисуем табличку
 $table = "<table class=simple-little-table cellspacing=0 align=center>\n";

 $table .= "<tr>\n";
 $table .= "<th><center>ID</center></th>\n"; 
 $table .= "<th><center>Время</center></th>\n";
 $table .= "<th><center>Событие</center></th>\n"; 
 $table .= "<th><center>Комментарии</center></th>\n"; 
 $table .= "<th><center>КФ</center></th>\n"; 
 $table .= "<th><center>Результат</center></th>\n";
 $table .= "<th><center>Редактировать</center></th>\n";
 
 $table .= "<form method=post action=edit.php>\n";
 while ($row = mysql_fetch_assoc($result))
 {

     $table .= "<tr>\n";

     $table .= "<td><input type=text size=2 name=id value=\"$row[id]\"></td>\n";
     $table .= "<td><input type=text size=2 name=date value=\"$row[date]\"></td>\n";
     $table .= "<td><input type=text size=54 name=news value=\"$row[news]\"></td>\n";
     $table .= "<td><input type=text size=18 name=comments value=\"$row[comments]\"></td>\n";
     $table .= "<td><input type=text size=2 name=kef value=\"$row[kef]\"></td>\n";
     $table .= "<td><input type=text size=6 name=result value=\"$row[result]\"></td>\n";
     $table .= "<td><input name=edit type=submit value=Изменить></td>\n";
     
     $table .= "</tr>\n";
     
 }
 $table .= "</form>\n";
 $table .= "</table>\n";

 // Выводим заполненную таблицу на экран
 echo $table;
 ?>
 </center>
 </body>
 </html>


В итоге мне выдаёт 
Код

Ошибка вставки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 'news='', comments='', kef='', result='' WHERE id=''' at line 1


Подскажите пожалуйста, в чём проблема, понять не могу..

Это сообщение отредактировал(а) Sice - 15.6.2014, 17:15
PM MAIL WWW   Вверх
Sanchezzz
Дата 15.6.2014, 19:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1670
Регистрация: 19.11.2006
Где: Voronezh

Репутация: 41
Всего: 60



1 Названия полей обверните в таком стиле  `date`
2 Используйте экранирование в mysql_* , лучше конечно перейти на плейсхолдеры. PDO или mysqli.

Почему стоит пользоваться PDO для работы с базой данных


--------------------
Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS.
PM MAIL Skype GTalk   Вверх
Sice
Дата 15.6.2014, 19:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Радио Онлайн
*


Профиль
Группа: Участник
Сообщений: 62
Регистрация: 4.12.2007

Репутация: 0
Всего: 0



Цитата(Sanchezzz @ 15.6.2014,  19:00)
1 Названия полей обверните в таком стиле  `date`
2 Используйте экранирование в mysql_* , лучше конечно перейти на плейсхолдеры. PDO или mysqli.

Почему стоит пользоваться PDO для работы с базой данных

Ошибка пропала. Запрос выполняется, об этом свидетельствует надпись "Запись успешно обновлена", но данные остаются прежними (которые были).. в чем проблема ?.. подставляю вроде бы переменные из текстбоксов..

Вот echo запроса:

[UPDATE `live` SET `date`='20:00',`match`='Теннис. Победа Надаля',`prognoz`='Победа 1',`kef`='2.50',`result`='' WHERE `id`='1']

Я сначала в текстбоксах достаю данные из бд, туда их помещаю, в текстбоксе меняю запись, нажимаю изменить, но запись прежняя остаётся, хотя запрос проходит успешно.

Для каждой записи, кнопка отдельна - это правильно сделано ? подскажите пожалуйста, только учусь..)

Сейчас понял, вот что. У меня 4 записи. Редактирование Работает только с первым айди. нажимая кнопки на другие, он везде подставляет id=1. почему ?

Это сообщение отредактировал(а) Sice - 15.6.2014, 19:30
PM MAIL WWW   Вверх
Sice
Дата 15.6.2014, 19:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Радио Онлайн
*


Профиль
Группа: Участник
Сообщений: 62
Регистрация: 4.12.2007

Репутация: 0
Всего: 0



Всё, разобрался. Нужно было форму внутри цикла засунуть. Спасибо всем большое smile
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0495 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.