Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 15.04.2016
Сообщений: 13
MySQL

UPDATE (проблема с изменениями)

10.11.2018, 19:25. Показов 802. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток!

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
<html><head>
  <title>Комплектующие компьютера — Материнские платы — Изменение</title>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  <link rel="shortcut icon" href="images/favicon.ico">
  <link href="css/style.css" type="text/css" rel="stylesheet" />
</head><body>
<?php
require_once 'connection.php';
$link = mysqli_connect($host, $user, $password, $database) or die("Ошибка подключение к СУБД MySQL!");
    
if(isset($_POST["update"])){
    
    $code = htmlentities (mysqli_escape_string($_POST['code']));    
    $model = htmlentities (mysqli_escape_string($_POST['model']));
    $form_factor = htmlentities (mysqli_escape_string($_POST['form_factor']));
    $socket = htmlentities (mysqli_escape_string($_POST['socket']));
    $chipset = htmlentities (mysqli_escape_string($_POST['chipset']));
    $type = htmlentities (mysqli_escape_string($_POST['type']));
    $col_type = htmlentities (mysqli_escape_string($_POST['col_type']));
    $max_type = htmlentities (mysqli_escape_string($_POST['max_type']));
    $price = htmlentities (mysqli_escape_string($_POST['price']));
    $quantity = htmlentities (mysqli_escape_string($_POST['quantity']));
    
    $query = "UPDATE `motherboard` SET `model`='".$_POST['model']."', `form_factor`='".$_POST['form_factor']."', `socket`='".$_POST['socket']."', `chipset`='".$_POST['chipset']."', `type`='".$_POST['type']."', `col_type`='".$_POST['col_type']."', `max_type`='".$_POST['max_type']."', `price`='".$_POST['price']."', `quantity`='".$_POST['quantity']."' WHERE `code`='".$_GET['code']."'";
    
    $result = mysqli_query($link, $query) or die("Ошибка!");
    echo $query;
    if ($result){
        header('Location: motherboard.php');
    } else {
        echo '<H3>Произошла ошибка</H3>';
    }
}
mysqli_close();
?>
<!--<form method = 'get' class='form'>
    Найти инфо по коду: <input name='code' type='text'><input type='submit' value='Найти'>
</form>-->
<?php 
if(isset($_GET['code'])){
    $resultU = mysqli_query($link, "SELECT * FROM motherboard WHERE code=".$_GET['code']);
    $row=mysqli_fetch_assoc($resultU);
?>
<form action = 'edit_motherboard.php' method = 'post' class='form'>
<ul>
    <li><h2 class='title'>Изменить данные новой материнской платы</h2></li>
    <li><p class='m5'>Код<input class='inadd' autocomplete='off' type = 'text' size = 15 maxlength = 4 name = 'code' value = '<?php echo $row['code']; ?>' required></p></li>
    <li><p class='m5'>Модель<input class='inadd' autocomplete='off' type = 'text' size = 15 maxlength = 15 name = 'model' value = '<?php echo $row['model']; ?>' required></p></li>
    <li><p class='m5'>Форм-фактор<input class='inadd' autocomplete='off' type = 'text' size = 15 maxlength = 10 name = 'form_factor' value = '<?php echo $row['form_factor']; ?>' required></p></li>
    <li><p class='m5'>Сокет<input class='inadd' autocomplete='off' type = 'text' size = 15 maxlength = 10 name = 'socket' value = '<?php echo $row['socket']; ?>' required></p></li>
    <li><p class='m5'>Чипсет<input class='inadd' autocomplete='off' type = 'text' size = 15 maxlength = 10 name = 'chipset' value = '<?php echo $row['chipset']; ?>' required></p></li>
    <li><p class='m5'>Тип памяти<input class='inadd' autocomplete='off' type = 'text' size = 15 maxlength = 15 name = 'type' value = '<?php echo $row['type']; ?>' required></p></li>
    <li><p class='m5'>Кол-во слотов памяти<input class='inadd' autocomplete='off' type = 'text' size = 15 maxlength = 1 name = 'col_type' value = '<?php echo $row['col_type']; ?>' required></p></li>
    <li><p class='m5'>Макс. объём памяти<input class='inadd' autocomplete='off' type = 'text' size = 15 maxlength = 10 name = 'max_type' value = '<?php echo $row['max_type']; ?>' required></p></li>
    <li><p class='m5'>Цена<input class='inadd' autocomplete='off' type = 'text' size = 15 maxlength = 5 name = 'price' value = '<?php echo $row['price']; ?>' required></p></li>
    <li><p class='m5'>Количество<input class='inadd' autocomplete='off' type = 'text' size = 15 maxlength = 2 name = 'quantity' value = '<?php echo $row['quantity']; ?>' required></p></li>
</ul>
<center><br><button class='submit' type = 'submit' name='update' >Изменить</button>
<br><H4><a href = "/">Вернуться на главную</a></H4></center>
</form>
<?php } 
mysqli_close();
?>
</body>
</html>
Что-то я не так написал с изменением данных? Я уже не понимаю где мог я допустить ошибку или где я пропустил, а то уже 3 дня бьюсь... Добавление, удаление и чтение работает без проблем, а вот с редактированием проблематично.

Помогите, исправить чтобы работало изменение данных.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.11.2018, 19:25
Ответы с готовыми решениями:

Проблема с UPDATE
Итак вопрос вот в чём: UPDATE `some_table` SET `metakey`=`title` WHERE catid='36' Необходимо обновить таблицы таким образом,чтобы к...

Проблема с функцией UPDATE
У меня такая проблема. Я хочу редактировать категории. сначала вывожу их, чтобы выбрали нужную категорию, потом в другом PHP файле...

DataGrid update ПРОБЛЕМА: Key column information is insufficient or incorect. Too many rows were affected by update
Привет всем ! В Вижуал Басик6 на форме имею ДатаГрид с информацией из Аксцессс 2000. Соединение - АДО. Пропертями усе установленно...

3
1152 / 554 / 320
Регистрация: 21.06.2012
Сообщений: 1,854
10.11.2018, 20:06
TiTaNoV, зачем это:
PHP
1
$model = htmlentities (mysqli_escape_string($_POST['model']));
если потом идёт это:
PHP
1
`model`='".$_POST['model']."'
?

Цитата Сообщение от TiTaNoV Посмотреть сообщение
Помогите, исправить чтобы работало изменение данных
скорее всего здесь косяк:
SQL
1
WHERE `code`='".$_GET['code']."'
данные передаются методом $_POST а Вы обрабатывайте $_GET
0
Эксперт PHP
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,909
10.11.2018, 22:06
Цитата Сообщение от TiTaNoV Посмотреть сообщение
action = 'edit_motherboard.php'
Цитата Сообщение от TiTaNoV Посмотреть сообщение
WHERE `code`='".$_GET['code']."'"
Форма отправляется без GET-параметров.
0
0 / 0 / 0
Регистрация: 15.04.2016
Сообщений: 13
11.11.2018, 05:38  [ТС]
Все понял в чем косяк) Вы были абсолютно правы. На самом деле не GET было писать, а POST.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.11.2018, 05:38
Помогаю со студенческими работами здесь

проблема с изменениями картинок: восстановление значения по умолчанию
вообщем есть у меня меню такого типа &gt;--------- --------- --------- при наведении на соотв пункт меню, указатель...

Проблема с Update
Некоторое время назад мой запрос на обновление вполне работал,сейчас же происходит не понятное.Мне нужно было написать запрос на обновление...

проблема с Update!
Добрый день! Есть форма, на ней кнопка добавить запись. Добавляет. Есть список Названий, при выборе нужного названия срабатывает, но...

UPDATE FROM OPENROWSET - проблема
Всем привет. Такая проблема: нужно сделать UPDATE в таблице на удалённой БД Firebird 2.5 из SQL Server. Делаю так: UPDATE t SET ...

Проблема с UPDATE и DELETE
Люди умные! Помогите пожалуйста! Такая ситуация: работаю в Micosoft Visual Studio .NET 2003, подключаю базу MySQL, драйвер MySQL ODBC...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru