Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
1 / 1 / 2
Регистрация: 10.06.2014
Сообщений: 174

Выдаёт ошибку при сохранении данных в БД

01.06.2016, 10:55. Показов 980. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вот ошибка:
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 '' at line 9

Ошибка выходит на файле обработчика, в чём проблема никак не могу понять. Заранее благодарю.

Вот код файла с формами для заполнения:
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
<div class="block_add_news">
    <p>
        Добавление новости
    </p>
<?php
echo "
<form action=admin/php/obrabot.php method=POST>
    <div class=add_news>
    
 
        <p>Выберите 1 фото:<br>
            <input type=file name=photo_1>
        </p>
        <p>Введите заголовок:<br>
            <textarea name=zaglav cols=100 rows=5></textarea>
        </p>
        <p>Выберите 2 фото:<br>
            <input type=file name=photo_2>
        </p>
        <p>Введите 1 абзац:<br>
            <textarea name=text_1 cols=100 rows=10></textarea>
        </p>
        <p>Введите 2 абзац:<br>
            <textarea name=text_2 cols=100 rows=10></textarea>
        </p>
        <p>Введите 3 абзац:<br>
            <textarea name=text_3 cols=100 rows=10></textarea>
        </p>
        <p>Введите 4 абзац:<br>
            <textarea name=text_4 cols=100 rows=10></textarea>
        </p>
        <p>Введите 5 абзац:<br>
            <textarea name=text_5 cols=100 rows=10></textarea>
        </p>
        <p>Выберите 3 фото:<br>
            <input type=file name=photo_3>
        </p>
        <p>Выберите 4 фото:<br>
            <input type=file name=photo_4>
        </p>
        <p>Выберите 5 фото:<br>
            <input type=file name=photo_5>
        </p>
 
 
    </div>
  
    <div class=add_news_info>
        <p>
            <input class=news_save type=submit name=news_save value=Сохранить>
        </p>
        <p>
            <input class=news_reset type=reset name=news_reset value=Очистить>
        </p>
        <p>
            Подсказка:<br>
            1. Мах. кол-во добавляемых фото 5;<br>
            2. Мах. размер фото 300х300 px <br>( http://resizepiconline.com/
             рекомендуется для изменения размеров фото );<br>
            3. Заголовок должен быть кратким и ясным;<br>
            4. Для качества новости рекомендуется текст
             разбивать на 4-5 абзацев;<br>
        </p>
    </div>
 
  </form>"
?>
</div>
Вот код файла обработчика:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
include ("../../php/db_use.php");
$db=new DB;
 
if((($_POST['zaglav'])&&($_POST['text_1'])&&($_POST['text_2'])&&($_POST['text_3'])&&($_POST['text_4'])&&($_POST['text_5'])!=null)){
        $id=trim($_POST['id']);
        $post=$_POST;
        
        $uploadfile = "../../img/news/".$_FILES['photo_1']['name'];
        $photo=$_FILES['photo_1']['name'];
        
        
        move_uploaded_file($_FILES['photo_1']['tmp_name'], $uploadfile);
        
 
        $db->updateData($post,$id, $photo);
        } 
 
else{
    
}
Вот код функции добавления в БД:
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
class DB{
public $query;
public $res;
public $post;
public function updateData($post, $id, $photo=""){
 
        
 
        extract($post);
        
 
        $photo=trim($photo);
        echo $photo;
        
        
        $query="UPDATE `makschool22`.`news` SET 
        zaglav='".$zaglav."',
        text_1='".$text_1."',
        text_2='".$text_2."',
        text_3='".$text_3."',
        text_4='".$text_4."',
        text_5='".$text_5."'
        
        where id=".$id;
 
        $res = mysql_query($query) or die(mysql_error());
        
        if($photo!=null){
            $query="UPDATE `makschool22`.`news` SET 
            photo_1='"."../img/news/".$photo."'
            where id=".$id;
            $res=mysql_query($query) or die(mysql_error());
        }
 
        if($query == 'true')
        {echo ('<meta http-equiv="Content-Type" content="text/html; charset=utf-8">');
            echo "<p>Информация успешно сохранена </p><a href=../../admin.php>Вернуться в админ. панель</a>";}
        else {echo "<p>Ошибка при сохранении информации</p><a href=../../admin?get=add-news>Вернуться к редактированию информации</a>";}
 
        
    }
 
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
01.06.2016, 10:55
Ответы с готовыми решениями:

Код PHP не берёт данные из базы данных, при авторизации всегда выдаёт прописанную ошибку "Неверный логин или пароль"
&lt;head&gt; &lt;meta charset=&quot;UTF-8&quot;&gt; &lt;title&gt;QestBar&lt;/title&gt; &lt;/head&gt; &lt;?php require...

Установил PHPMyAdmin 4.8.2 в папку home денвера, но при запуске выдаёт ошибку
Я установил файлы PHPMyAdmin в папку папку Z:\home\phpmyadmin4.8.2\www\. Запускаю сайт - выдаёт ошибку: Parse error: syntax error,...

При подключении к базе данных выдаёт ошибку
Пытаюсь подключить бд к программе на mysql но вылетает ошибка, прописывал порт но тогда ошибка &quot;port ключевое слово не распознано&quot;

5
38 / 38 / 11
Регистрация: 27.09.2014
Сообщений: 491
01.06.2016, 11:05
Цитата Сообщение от AlexRasko Посмотреть сообщение
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 '' at line 9
Что написано в файле скрипта в 9-ой строке?
0
471 / 399 / 169
Регистрация: 04.01.2013
Сообщений: 1,675
01.06.2016, 11:07
1. Не насилуйте себе и окружающим мозг с трехэтажной конкатенацией)))если строка в двойных кавычках, то переменные интерпретируются, пишите без конкатенации
2. Если честно я не вижу где в форме передается id
PHP
1
$query="UPDATE `makschool22`.`news` SET zaglav='$zaglav', text_1='$text_1', text_2='$text_2', text_3='$text_3',  text_4='$text_4', text_5='$text_5' where id=$id";
PHP
1
$query="UPDATE `makschool22`.`news` SET photo_1='../img/news/$photo' where id=$id";
Более читабельно
0
1 / 1 / 2
Регистрация: 10.06.2014
Сообщений: 174
01.06.2016, 11:23  [ТС]
Цитата Сообщение от Vovka Посмотреть сообщение
Что написано в файле скрипта в 9-ой строке?
В обработчике? Вот:
PHP
1
move_uploaded_file($_FILES['photo_1']['tmp_name'], $uploadfile);
Добавлено через 5 минут
Цитата Сообщение от СлаваВирус Посмотреть сообщение
Более читабельно
Поменял код как вы написали, ошибка поменяла строку:
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 '' at line 1
0
471 / 399 / 169
Регистрация: 04.01.2013
Сообщений: 1,675
01.06.2016, 11:25
Смотрите, что у Вас приходит в переменных. Текст гласит, что у вас синтаксическая ошибка в sql запросе. Выведите запрос на экран через echo, вполне возможно, что в переменных передаются двойные кавычки и запрос ломается
0
38 / 38 / 11
Регистрация: 27.09.2014
Сообщений: 491
01.06.2016, 11:34
Цитата Сообщение от AlexRasko Посмотреть сообщение
You have an error in your SQL syntax;
Цитата Сообщение от AlexRasko Посмотреть сообщение
В обработчике? Вот:
И где в этой строке SQL-запрос??? Откройте редактором свой файл, а не смотрите то, что форум выводит!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.06.2016, 11:34
Помогаю со студенческими работами здесь

Пытаюсь установить IPB выдаёт ошибку при подключение базы данных
Здравствуйте, Пытаюсь установить IPB выдаёт ошибку при подключение базы данных Parse error: syntax error, unexpected T_STRING...

При решении программа выдаёт значение функции, равное 0 или выдаёт ошибку. Что не так?
#include &lt;iostream&gt; #include &lt;iomanip&gt; #include &lt;cmath&gt; using namespace std; long Fact(short m)// функция вычисления факториала ...

Access выдаёт ошибку "несоответствие типов данных в выражении условия отбора" при выборе даты
Формат поля стоит Дата и время (настройки по умолчанию). выбираю в delphi дату через всплывающий календарь, данные заносятся и после этого...

Выдает ошибку при сохранении
в файле написана обычная программа,которая работает. Как это лечится?)))

Выводит ошибку при сохранении изменений. MS Access
Добавил oleDbDataAdapter из toolbox'а на форму.Соединил с базой MS Access. От нее создал датасет. Добавил datagridview. При создании новой...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
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