С Новым годом! Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
0 / 0 / 1
Регистрация: 02.04.2011
Сообщений: 10

Ошибка при редактировании данных в БД MySQL средствами PHP

11.04.2013, 22:58. Показов 1413. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вот код программы
index.html
HTML5
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
 
<head>
 
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
 
    <title>Forma s soxraneniem v MySQL</title>
 
<style type="text/css">
<!--
body { font: 12px Georgia; color: #666666; }
h3 { font-size: 16px; text-align: center; }
table { width: 400px; border-collapse: collapse; margin: 0px auto; background: #E6E6E6; }
td { padding: 3px; }
input { width: 250px; border: solid 1px #CCCCCC; }
textarea { width: 250px; height: 100px; border: solid 1px #CCCCCC; }
.buttons { width: auto; border: double 1px #666666; background: #D6D6D6; }
-->
</style>
 
</head>
 
<body>
 
<h3>Primer formi s soxraneniem danix v MySQL</h3>
 
<form action="save_form.php" method="post" name="test_form">
<table border="1" cellpadding="0" cellspacing="0">
 <tr>
  <td colspan="2" align="center"><strong>Otpravka zaprosa</strong></td>
 </tr>
 <tr>
  <td width="150">Imja :</td>
  <td><input type="text" name="test_name" maxlength="30" /></td>
 </tr>
 <tr>
  <td width="150">E-Mail :</td>
  <td><input type="text" name="test_mail" maxlength="30" /></td>
 </tr>
 <tr>
  <td width="150">Tema soobs4enija :</td>
  <td><input type="text" name="test_theme" maxlength="30" /></td>
 </tr>
 <tr>
  <td width="150">Soobs4enie :</td>
  <td><textarea name="test_mess"></textarea></td>
 </tr>
 <tr>
  <td colspan="2" align="center">
   <input type="submit" class="buttons" value="Otpravit zapros" />
   <input type="reset" class="buttons" value="O4is4it" />
  </td>
 </tr>
</table>
</form>
 
 
 
<form action="view_data.php" method="post" name="view_result">
<table>
 <tr>
  <td align="center"><input type="submit" class="buttons" value="Posmotret ranee soxranennie dannie" /></td>
 </tr>
</table>
</form>
  
 
</body>
</html>
save_form.php
PHP
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
29
30
31
32
33
34
35
36
37
38
39
<?
 
/* Соединяемся с базой данных */
$hostname = "localhost"; // название/путь сервера, с MySQL
$username = "root"; // имя пользователя (в Denwer`е по умолчанию "root")
$password = ""; // пароль пользователя (в Denwer`е по умолчанию пароль отсутствует, этот параметр можно оставить пустым)
$dbName = "test_base"; // название базы данных
 
/* Таблица MySQL, в которой будут храниться данные */
$table = "test_table";
 
/* Создаем соединение */
mysql_connect($hostname, $username, $password) or die ("Ne mogu sozdat soedinenie");
 
/* Выбираем базу данных. Если произойдет ошибка - вывести ее */
mysql_select_db($dbName) or die (mysql_error());
 
/* Определяем текущую дату */
$cdate = date("Y-m-d");
 
/* Составляем запрос для вставки информации в таблицу
name...date - название конкретных полей в базе;
в $_POST["test_name"]... $_POST["test_mess"] - в этих переменных содержатся данные, полученные из формы */
$query = "INSERT INTO $table SET name='".$_POST['test_name']."', email='".$_POST["test_mail"]."',
theme='".$_POST["test_theme"]."', message='".$_POST["test_mess"]."', data='$cdate'";
 
/* Выполняем запрос. Если произойдет ошибка - вывести ее. */
mysql_query($query) or die(mysql_error());
 
/* Закрываем соединение */
mysql_close();
 
/* В случае успешного сохранения выводим сообщение и ссылку возврата */
echo ("<div style=\"text-align: center; margin-top: 10px;\">
<font color=\"green\">Dannie uspeshno sohraneni!</font>
 
<a href=\"index.html\">Vernu4sja nazad</a></div>");
 
?>

view_data.php
PHP
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
<?
 
/* Соединяемся с базой данных */
$hostname = "localhost"; // название/путь сервера, с MySQL
$username = "root"; // имя пользователя (в Denwer`е по умолчанию "root")
$password = ""; // пароль пользователя (в Denwer`е по умолчанию пароль отсутствует, этот параметр можно оставить пустым)
$dbName = "test_base"; // название базы данных
 
/* Таблица MySQL, в которой хранятся данные */
$table = "test_table";
 
/* Создаем соединение */
mysql_connect($hostname, $username, $password) or die ("Ne mogu sozdat soedinenie");
 
/* Выбираем базу данных. Если произойдет ошибка - вывести ее */
mysql_select_db($dbName) or die (mysql_error());
 
 
/*
function show_item()
{
    echo '<html>';
    echo '<head>';
    echo "<title>Новость id</title>";
    echo '</head>';
    echo '<body>';
    echo '<a href="view_data.php">Nazad</a>';
    echo '<p>';
    echo 'Tut mnogo informazii :)';
    echo '</p>';    
    echo '</body>'; 
    echo '</html>'; 
}
 
if (isset($_GET['red'])) { 
$red = intval($_GET['red']); 
show_item();
//$query = "delete from $table where (id='$del')"; 
// Выполняем запрос. Если произойдет ошибка - вывести ее.  
mysql_query($query) or die(mysql_error()); 
}
*/
 
 
 
if (isset($_GET['del'])) { 
$del = intval($_GET['del']); 
$query = "delete from $table where (id='$del')"; 
/* Выполняем запрос. Если произойдет ошибка - вывести ее. */ 
mysql_query($query) or die(mysql_error()); 
}
 
 
/* Составляем запрос для извлечения данных из полей "name", "email", "theme",
"message", "data" таблицы "test_table" */
$query = "SELECT * FROM $table";
 
/* Выполняем запрос. Если произойдет ошибка - вывести ее. */
$res = mysql_query($query) or die(mysql_error());
 
 $row = mysql_num_rows($res);
/* Выводим данные из таблицы */
echo ("
<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">
<html xmlns=\"http://www.w3.org/1999/xhtml\">
 
<head>
 
    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=windows-1251\" />
 
    <title>Vivod dannix iz MySQL</title>
 
<style type=\"text/css\">
<!--
body { font: 12px Georgia; color: #666666; }
h3 { font-size: 16px; text-align: center; }
table { width: 700px; border-collapse: collapse; margin: 0px auto; background: #E6E6E6; }
td { padding: 3px; text-align: center; vertical-align: middle; }
.buttons { width: auto; border: double 1px #666666; background: #D6D6D6; }
-->
</style>
 
</head>
 
<body>
 
<h3>Vivod ranee soxranennix dannix iz tablizi MySQL</h3>
 
<table border=\"1\" cellpadding=\"0\" cellspacing=\"0\">
 <tr style=\"border: solid 1px #000\">
  <td><b>#</b></td>
  <td align=\"center\"><b>Data obras4enija</b></td>
  <td align=\"center\"><b>Imena polzovatelei</b></td>
  <td align=\"center\"><b>E-Mail polzovatelei</b></td>
  <td align=\"center\"><b>Tema soobs4enija</b></td>
   <td align=\"center\"><b>Soobs4enija polzovatelei</b></td>
  <td align=\"center\"><b>Redaktirovanie</b></td>
    <td align=\"center\"><b>Udalit</b></td>
 </tr>
");
 
/* Цикл вывода данных из базы конкретных полей */
while ($row = mysql_fetch_array($res)) {
    echo "<tr>\n";
    echo "<td>".$row['id']."</td>\n";
    echo "<td>".$row['data']."</td>\n";
    echo "<td>".$row['name']."</td>\n";
    echo "<td>".$row['email']."</td>\n";
    echo "<td>".$row['theme']."</td>\n";
    echo "<td>".$row['message']."</td>\n";
     /* Генерируем ссылку для редактирования поля */
    echo "<td><a name=\"red\" href=\"update_data.php?red=".$row["id"]."\">Redaktirovat</a></td>\n";//???????????
    //и для Удаления
    echo "<td><a name=\"del\" href=\"view_data.php?del=".$row["id"]."\">Udalit</a></td>\n";
    echo "</tr>\n";
 
}
 
echo ("</table>\n");
 
/* Закрываем соединение */
mysql_close();
 
/* Выводим ссылку возврата */
echo ("<div style=\"text-align: center; margin-top: 10px;\"><a href=\"index.html\">Vernutsja nazad</a></div>");
 
?>
update_data.php
PHP
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
<?
 /* Соединяемся с базой данных */
$hostname = "localhost"; // название/путь сервера, с MySQL
$username = "root"; // имя пользователя (в Denwer`е по умолчанию "root")
$password = ""; // пароль пользователя (в Denwer`е по умолчанию пароль отсутствует, этот параметр можно оставить пустым)
$dbName = "test_base"; // название базы данных
 
/* Таблица MySQL, в которой хранятся данные */
$table = "test_table";
 
/* Создаем соединение */
mysql_connect($hostname, $username, $password) or die ("Не могу создать соединение");
 
/* Выбираем базу данных. Если произойдет ошибка - вывести ее */
mysql_select_db($dbName) or die (mysql_error());
 
/* Если была нажата кнопка редактирования, вносим изменения */
 
//if(@$submit_edit) {
//$query = "UPDATE $table SET name='$test_name', email='$test_mail', theme='$test_theme', message='$test_mess' WHERE id=".$_GET['red'];
/* Выполняем запрос. Если произойдет ошибка - вывести ее. */
 
//mysql_query($query) or die (mysql_error());
//}
 
 
/*
if (isset($_GET['red'])) { 
$red = intval($_GET['red']); 
$query = "UPDATE $table SET name='$test_name', email='$test_mail', theme='$test_theme', message='$test_mess' WHERE id='$red'";
 Выполняем запрос. Если произойдет ошибка - вывести ее.  
mysql_query($query) or die(mysql_error()); 
}
*/
 
 
/* Заносим в переменную $res всю базу данных */
$query = "SELECT * FROM $table where id=".$_GET['red'];
/* Выполняем запрос. Если произойдет ошибка - вывести ее. */
$res = mysql_query($query) or die(mysql_error());
/* Узнаем количество записей в базе данных */
$row = mysql_num_rows($res);
 
/* Выводим данные из таблицы */
echo ("
<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">
<html xmlns=\"http://www.w3.org/1999/xhtml\">
 
<head>
 
    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=windows-1251\" />
 
    <title>Redaktirovanie i obnovlenie dannix</title>
 
<style type=\"text/css\">
<!--
body { font: 12px Georgia; color: #666; }
h3 { font-size: 16px; text-align: center; }
table { width: 400px; border-collapse: collapse; margin: 5px auto; background: #E6E6E6; }
td { padding: 3px; vertical-align: middle; }
input { width: 250px; border: solid 1px #CCC; color: #FF6666; }
textarea { width: 250px; height: 100px; border: solid 1px #CCC; color: #FF6666; }
.buttons { width: auto; border: double 1px #666; background: #D6D6D6; color: #000; }
#num { width: 20px; text-align: right; margin-right: 5px; float: right; }
-->
</style>
 
</head>
 
<body>
 
<h3>Redaktirovanie i obnovlenie dannix v tablize MySQL</h3>
");
 
/* Цикл вывода данных из базы конкретных полей */
while ($row = mysql_fetch_array($res)) {
    echo "<form action=\"save_red.php\" method=\"post\" name=\"edit_form\">\n";
    echo "<input type=\"hidden\" name=\"update\" value=\"".$row["id"]."\" />\n";
    echo "<table border=\"1\" cellpadding=\"0\" cellspacing=\"0\">\n";
    echo "<tr>\n";
    echo "<td colspan=\"2\" style=\"border-bottom:solid 1px #CCCCCC;\"><b><i><div id=\"num\">#".$row["id"]."</div>".$row['data']."</b></i></td>\n";
    echo "</tr><tr>\n";
    echo "<td>Imja polzovatelja:</td><td><input type=\"text\" value=\"".$row['name']."\" name=\"test_name\" /></td>\n";
    echo "</tr><tr>\n";
    echo "<td>E-Mail polzovatelja:</td><td><input type=\"text\" value=\"".$row['email']."\" name=\"test_mail\" /></td>\n";
    echo "</tr><tr>\n";
    echo "<td>Tema soobs4enija</td><td><input type=\"text\" value=\"".$row['theme']."\" name=\"test_theme\" /></td>\n";
    echo "</tr><tr>\n";
    echo "<td>Soobs4enie:</td><td><textarea name=\"test_mess\">".$row['message']."</textarea></td>\n";
    echo "</tr><tr>\n";
  //  echo "<td colspan=\"2\" align=\"center\"><a name=\"red\" href=\"update_data.php?red=".$row["id"]."\">Soxranit</a></td>\n";   
 
 echo "<td colspan=\"2\" align=\"center\"><input type=\"submit\" name=\"submit_edit\" class=\"buttons\" value=\"soxrani4 izmenenija\" /></td>\n";
    echo "</tr></table></form>\n\n";
}
 
/* Закрываем соединение */
mysql_close();
 
/* Выводим ссылку возврата */
echo ("<div style=\"text-align: center; margin-top: 10px;\"><a href=\"view_data.php\">Vernutsja nazad</a></div>");
 
?>
save_red.php
PHP
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
29
30
31
32
33
34
35
36
37
38
39
<?
 
/* Соединяемся с базой данных */
$hostname = "localhost"; // название/путь сервера, с MySQL
$username = "root"; // имя пользователя (в Denwer`е по умолчанию "root")
$password = ""; // пароль пользователя (в Denwer`е по умолчанию пароль отсутствует, этот параметр можно оставить пустым)
$dbName = "test_base"; // название базы данных
 
/* Таблица MySQL, в которой будут храниться данные */
$table = "test_table";
 
/* Создаем соединение */
mysql_connect($hostname, $username, $password) or die ("Ne mogu sozdat soedinenie");
 
/* Выбираем базу данных. Если произойдет ошибка - вывести ее */
mysql_select_db($dbName) or die (mysql_error());
 
/* Определяем текущую дату */
$cdate = date("Y-m-d");
 
/* Составляем запрос для вставки информации в таблицу
name...date - название конкретных полей в базе;
в $_POST["test_name"]... $_POST["test_mess"] - в этих переменных содержатся данные, полученные из формы */
$query = "UPDATE $table SET name='".$_POST['test_name']."', email='".$_POST["test_mail"]."',
theme='".$_POST["test_theme"]."', message='".$_POST["test_mess"]." ' WHERE id='red'";
 
/* Выполняем запрос. Если произойдет ошибка - вывести ее. */
mysql_query($query) or die(mysql_error());
 
/* Закрываем соединение */
mysql_close();
 
/* В случае успешного сохранения выводим сообщение и ссылку возврата */
echo ("<div style=\"text-align: center; margin-top: 10px;\">
<font color=\"green\">Dannie uspeshno sohraneni!</font>
 
<a href=\"view_data.php\">Vernu4sja nazad</a></div>");
 
?>
Проблема заключается в том, что добавление новых данных через главную форму index.html и удаление (описано в view_data) выполняется нормально, а редактирование, описаное в update_data.php u save_red.php выводит что данные успешно сохранены(
PHP
1
2
echo ("<div style=\"text-align: center; margin-top: 10px;\">
<font color=\"green\">Dannie uspeshno sohraneni!</font>
) но в результате ничего не меняется

вот вылаживаю исходники в архиве, там я заодно запринтскринил структуру БД
Вложения
Тип файла: rar primer2.rar (121.1 Кб, 11 просмотров)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
11.04.2013, 22:58
Ответы с готовыми решениями:

Ошибка PHP при подключении к базе данных MySQL
В OpenServer создаю БД (user:adm, password:adm, name:my_db). При подключении в PHP выдает ошибки: 1. Warning: mysqli_connect():...

Ошибка при редактировании данных в таблице
Привет, короче беда в том, что при редактировании, когда я уже обновляю данные в таблице выдает вот такую ошибку :You have an error in your...

Ошибка при update php + mysql
$sql = &quot;UPDATE `users` SET `name`=`{$name}`,`surname`=`{$surname}`,`date_besd`=`{$databir}` WHERE `login`=$login&quot;; - запрос. Ответ: ...

1
0 / 0 / 1
Регистрация: 02.04.2011
Сообщений: 10
19.04.2013, 15:51  [ТС]
все нашел ошибку
запрос UPDATE должен выглядеть так:
PHP
1
2
$query = "UPDATE $table SET name='".$_POST['name']."', avtor='".$_POST["avtor"]."',
ganr='".$_POST["ganr"]."', cena='".$_POST["cena"]."', opisanie='".$_POST["opisanie"]."' WHERE id=".$_POST["update"];
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.04.2013, 15:51
Помогаю со студенческими работами здесь

Php и MySQL. Ошибка при вставке
Я схожу с ума... Таблица, БД, скрипт, страница в браузере - utf-8, даже зачем то проверил кодировку самих символов( что то там detected) ...

Связь в таблицах mysql средствами PHP
Приветствую, уважаемые программисты. Я начал работать с базами данных и с mysql в частности совсем недавно, поэтому пока не разобрался со...

Выпадающий список при редактировании инфы из БД (PHP)
Доброго времени суток. Возник вопрос о выпадающем списке. Есть две таблицы &quot;Сотрудники&quot; и &quot;Должности&quot;. Каждый сотрудник...

Неправильная кодировка при ВВОДЕ данных в MySQL из PHP
Перерыл весь форум, но проблема так и не решилась. Дано: компьютер с Windows 7 и установленным Denwer3; компьютер с MacOS 10.9.5 и...

Выборка из MYSQL без повторения ID средствами PHP
Добрый день. Подробнее о вопросе. Есть таблица со значениями, спортивными результатами. Типа imya | ID | time Ivan | 1 |...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru