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

Почему не обновляет базу данных?

21.04.2014, 19:30. Показов 1524. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добавление в бд и удаление нормально работает, а вот обновление не в какую! Что пропустил???


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
<?php
header('Content-Type:text/html; charset=utf-8'); // Кодировка страницы
require "db.php"; // Подключение базы данных
if (isset($_GET['id'])) {$id = $_GET['id'];}
?>
 
<!DOCTYPE html>
<html lang="ru">
<head>
    <title>Обработка</title>
    <meta charset="UTF-8">
    <link rel="stylesheet" href="style.css">
    <script src="script.js"></script>
</head>
<body>
 
<div id="page_align">
 
<?php
    require("blocks/header.php");   // Подключение шапки
    require("blocks/nav.php");      // Подключение навигации
 
    echo "<section><article><hr>    Страницы редактирования информации об автомобилях!";
 
    
    if (!isset($id)) { // Если не существует переменной id, вывести список вещей 
        $sql_auto = mysql_query("SELECT * FROM auto");
        $row_auto = mysql_fetch_array($sql_auto); 
            do {
            echo "
                <form action='auto_edit_del.php' method='post'>
                <p><input name='submit' type='submit' value='Удалить!'><input name='id' type='radio' value='$row_auto[id]'>
                <a href='auto_edit.php?id=$row_auto[id]' class='auto_edit'>$row_auto[id]. $row_auto[brand] $row_auto[model] ($row_auto[year]) - $row_auto[price]грн.</a></p>
                </form>
            "; }
            while ($row_auto = mysql_fetch_array($sql_auto));
    }
 
    
    else {
        $sql_auto_id = mysql_query("SELECT * FROM auto WHERE id=$id");
        $row_auto_id = mysql_fetch_array($sql_auto_id); 
 
 
print <<<HERE
 
    <form name='form1' action='auto_edit_update.php' method='post'>
        <p>Марка: <input value="$row_auto_id[brand]" name="brand" id="brand" type="text"></p>
        <p>Модель: <input value="$row_auto_id[model]" name="model" id="model" type="text"></p>
        <p>Год выпуска: <input value="$row_auto_id[year]" name="year" id="year" type="text"></p>
        <p>Цвет кузова: <input value="$row_auto_id[color]" name="color" id="color" type="text"></p>
        <p>Цена: <input value="$row_auto_id[price]" name="price" id="price" type="text"></p>        
        <p>Описание: <textarea name="text" id="text" cols="40" rows="5">$row_auto_id[text]</textarea></p>
        <p>Изоброжение: <input value="$row_auto_id[image]" name="image" id="image" type="text" size="81"></p>
        <p><input type="submit" name="submit" id="submit" value="Сохранить изменения"></p>
    </form>
    
    </article></section>
HERE;
    }
 
 
    require("blocks/footer.php");   // Подключение нижнего колонтитула
?>
</div>
 
</body>
</html>
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
<?php
header('Content-Type:text/html; charset=utf-8'); // Кодировка страницы
require "db.php"; // Подключение базы данных
 
/*Если существует в глобальном массиве $_POST['brand'] опр. ячейка, то мы создаем простую переменную из неё. Если переменная пустая, то уничтожаем переменную.*/
if (isset($_POST['brand']))     {$brand = $_POST['brand'];  if ($brand == '')   {unset($brand);}}
if (isset($_POST['model']))     {$model = $_POST['model'];  if ($model == '')   {unset($model);}}
if (isset($_POST['year']))      {$year = $_POST['year'];    if ($year == '')    {unset($year);}}
if (isset($_POST['color']))     {$color = $_POST['color'];  if ($color == '')   {unset($color);}}
if (isset($_POST['price']))     {$price = $_POST['price'];  if ($price == '')   {unset($price);}}
if (isset($_POST['text']))      {$text = $_POST['text'];    if ($text == '')    {unset($text);}}
if (isset($_POST['image']))     {$image = $_POST['image'];  if ($image == '')   {unset($image);}}
?>
 
<!DOCTYPE html>
<html lang="ru">
<head>
    <title>Добавление</title>
    <meta charset="UTF-8">
    <link rel="stylesheet" href="style.css">
    <script src="script.js"></script>
</head>
<body>
 
<div id="page_align">
 
<?php
    require("blocks/header.php");   // Подключение шапки
    require("blocks/nav.php");      // Подключение навигации
 
    echo "<section><article><hr>";
 
    if (isset($brand) && isset($model) && isset($year) && isset($color) && isset($price) && isset($text) && isset($image)) { // Если существуют   
    // Тогда пишим что можно заносить информацию в базу
    $sql_auto_id = mysql_query ("INSERT INTO auto (brand,model,year,color,price,text,image) VALUES ('$brand','$model','$year','$color','$price','$text','$image')");
        if ($sql_auto_id == 'true') { echo "Автомобиль добавлен!"; }
        else { echo "Автомобиль не добавлен!"; }
    }
    else { echo "Вы ввели не всю информацию, поэтому автомобиль не был добавлен!"; }
    
    echo "</article></section>";
 
    require("blocks/footer.php");   // Подключение нижнего колонтитула
?>
</div>
 
</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 '1' at line 1
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.04.2014, 19:30
Ответы с готовыми решениями:

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

Базу данных не обновляет
добавляю столбец в таблицу access, хочу теперь в делфи обновить DBGRID, но в columns editor нет этого столбца.почему??? он как будто не...

Почему не обновляет?
Дело в том, что у меня создана рабочая папка БД. Имеется два рабочий места (локальная сеть) При открытии формы на одном рабочем месте и...

10
9 / 9 / 2
Регистрация: 13.04.2014
Сообщений: 60
21.04.2014, 19:54
А где, собственно, сам запрос обновления? Вижу только SELECT и INSERT.
0
112 / 93 / 15
Регистрация: 03.10.2012
Сообщений: 315
21.04.2014, 19:56
Цитата Сообщение от MrRuslanBB Посмотреть сообщение
а вот обновление не в какую! Что пропустил???
А где в первом листинге обработка POST запроса с данными формы,
0
9 / 9 / 2
Регистрация: 13.04.2014
Сообщений: 60
21.04.2014, 20:03
Не сразу понял, что ниже и есть сам скрипт обработки.
Так у вас скрипт добавления или изменения данных в БД? Если изменения, то нужно использовать запрос UPDATE.
0
91 / 91 / 23
Регистрация: 02.09.2013
Сообщений: 276
21.04.2014, 20:42
Запрос уже сформированный распечатай вардампом (var_dump()) да посмотри что там.

Добавлено через 2 минуты
PHP
1
<p>Изоброжение: <input v
И да, изобрОжение у тебя не загрузится
0
7 / 7 / 6
Регистрация: 02.04.2012
Сообщений: 321
21.04.2014, 21:40  [ТС]
Извиняюсь не ту страницу обработки добавил((

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
<?php
header('Content-Type:text/html; charset=utf-8'); // Кодировка страницы
require "db.php"; // Подключение базы данных
 
if (isset($_POST['id']))        {$id = $_POST['id'];}
/*Если существует в глобальном массиве $_POST['brand'] опр. ячейка, то мы создаем простую переменную из неё. Если переменная пустая, то уничтожаем переменную.*/
if (isset($_POST['brand']))     {$brand = $_POST['brand'];  if ($brand == '')   {unset($brand);}}
if (isset($_POST['model']))     {$model = $_POST['model'];  if ($model == '')   {unset($model);}}
if (isset($_POST['year']))      {$year = $_POST['year'];    if ($year == '')    {unset($year);}}
if (isset($_POST['color']))     {$color = $_POST['color'];  if ($color == '')   {unset($color);}}
if (isset($_POST['price']))     {$price = $_POST['price'];  if ($price == '')   {unset($price);}}
if (isset($_POST['text']))      {$text = $_POST['text'];    if ($text == '')    {unset($text);}}
if (isset($_POST['image']))     {$image = $_POST['image'];  if ($image == '')   {unset($image);}}
?>
 
<!DOCTYPE html>
<html lang="ru">
<head>
    <title>Обработка</title>
    <meta charset="UTF-8">
    <link rel="stylesheet" href="style.css">
    <script src="script.js"></script>
</head>
<body>
 
<div id="page_align">
 
<?php
    require("blocks/header.php");   // Подключение шапки
    require("blocks/nav.php");      // Подключение навигации
 
    echo "<section><article><hr>";
 
    if (isset($brand) && isset($model) && isset($year) && isset($color) && isset($price) && isset($text) && isset($image)) { // Если существуют   
    // Тогда пишим что можно заносить информацию в базу
    $sql_auto_id = mysql_query ("UPDATE auto SET brand='$brand', model='$model', year='$year', color='$color', price='$price', text='$text', image='$image' WHERE id='$id'");
    mysql_query($sql_auto_id) or die(mysql_error());
    }
 
    /*  if ($sql_auto_id == 'true') { echo "Информация об автомобиле успешно обновилась!"; }
        else { echo "Информация об автомобиле не обновилась!"; }
    }
    else { echo "Вы ввели не всю информацию, поэтому автомобиль небыл обновлён!"; }
    */
    echo "</article></section>";
 
    require("blocks/footer.php");   // Подключение нижнего колонтитула
?>
 
</div>
 
</body>
</html>
0
9 / 9 / 2
Регистрация: 13.04.2014
Сообщений: 60
21.04.2014, 21:59
Каждую переменную в строке запроса к БД заключи в фигурные скобки.
0
 Аватар для fanatikus
1932 / 1523 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
21.04.2014, 22:06
попробуй так
PHP
1
 $sql_auto_id = mysql_query ("UPDATE auto SET brand='".$brand."', model='".$model."', year='".$year."', color='".$color."', price='".$price."', text='".$text."', image='".$image."' WHERE id='".$id."'");
0
7 / 7 / 6
Регистрация: 02.04.2012
Сообщений: 321
21.04.2014, 22:15  [ТС]
Сделал так не пашет...

$sql_auto_id = mysql_query ("UPDATE auto SET brand={'$brand'}, model={'$model'}, year={'$year'}, color={'$color'}, price={'$price'}, text={'$text'}, image={'$image'} WHERE id={'$id'}");

Запрос был пуст - Query was empty

Добавлено через 3 минуты
Цитата Сообщение от fanatikus Посмотреть сообщение
$sql_auto_id = mysql_query ("UPDATE auto SET brand='".$brand."', model='".$model."', year='".$year."', color='".$color."', price='".$price."', text='".$text."', image='".$image."' WHERE id='".$id."'");
Нет, тоже не работает(

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 '1' at line 1

На другом сайте, до этого всё работало, ничего не пойму( Где я допустил ошибку((
0
91 / 91 / 23
Регистрация: 02.09.2013
Сообщений: 276
21.04.2014, 22:25
Лучший ответ Сообщение было отмечено MrRuslanBB как решение

Решение

У тебя где-то в другом месте что то не работает. Меня смущает вот это:
right syntax to use near '1' at line 1
Понатыкай вар-дампов со всеми запросами, где-то у тебя единичка затесалась судя по всему
1
7 / 7 / 6
Регистрация: 02.04.2012
Сообщений: 321
21.04.2014, 22:36  [ТС]
Цитата Сообщение от Zvook Посмотреть сообщение
У тебя где-то в другом месте что то не работает. Меня смущает вот это:
right syntax to use near '1' at line 1
Понатыкай вар-дампов со всеми запросами, где-то у тебя единичка затесалась судя по всему
PHP
1
2
3
4
5
6
7
8
    var_dump ($brand);
    var_dump ($model);
    var_dump ($year);
    var_dump ($color);
    var_dump ($price);
    var_dump ($text);
    var_dump ($image);
    var_dump ($id);
string(3) "BMW" string(4) "740i" string(4) "2011" string(10) "Серый" string(5) "44900" string(23) "Перекрашена." string(3) "..." NULL

По-натыкал, короче всё работает кроме id, Null выдаёт! Вот видать поэтому и не обновляет, не знает что обновить надо! Как я это понимаю))

Спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.04.2014, 22:36
Помогаю со студенческими работами здесь

Почему в базу данных добавляются id через десяток
Всем доброго времени суток! С определенного момента или времени все записи ID в БД во всех таблицах стали проставляться через десяток ...

Почему не вносится из формы запись в базу данных?
Доброго времени суток! У меня не работает код (ниже). Заношу в форму, и при нажатии на кнопку текст не выводится на экран и не вносится в...

Почему не добавляются данные из формы в базу данных?
Я начинающий в этом деле, поэтому подскажите, пожалуйста. У меня есть код и вроде он работал, то есть через форму осуществлялось добавление...

почему в базу данных вставляется только 10000 записей?
Код обновления базы данных $sql = &quot;INSERT INTO `ties_lavto_copy` ( `kod_ties`,`kod_model` ) VALUES( :kod_ties_,:kod_model_)&quot;; ...

Не могу понять почему не работает добавление в базу данных?
есть код: &lt;?php $host=&quot;localhost&quot;; $user=&quot;Ewgen&quot;; $password=&quot;fear56&quot;; $db=&quot;3aka3i&quot;; ...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru