Форум программистов  
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 20.09.2017, 11:00   #1
Pro100Bogdan
Пользователь
 
Регистрация: 11.04.2017
Сообщений: 12
Репутация: 10
По умолчанию MySQL A fatal MySQL error occured - PHP БД

Добрый день !
Столкнулся со следующей проблемой: при вводе в определённое поле а именно в "edit_value" значения "no", вызывается следующая ошибка "A fatal MySQL error occured. Query: Error1064) 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 'Where id=625' at line 1"
Мучаюсь уже второй час но не как не могу понять саму причину вызывающую данную ошибку. Проблема появилась недавно, до этого все работало без проблем, в скрипт не вносились изменения, что ещё больше озадачивает.
Сам скрипт можно увидеть в прикрепленном файле edit.php
Подскажите пожалуйста, может кто то увидит в чем может быть причина происходящего ?
Заранее большое спасибо !
Вложения
Тип файла: rar edit.rar (694 байт, 4 просмотров)
Pro100Bogdan вне форума   Ответить с цитированием
Старый 20.09.2017, 11:41   #2
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 22,612
Репутация: 5062
По умолчанию

ну, судя по всему, ошибка возникает в этих строчках кода:
Код:

			if($_POST['edit_value'] === '0' or $_POST['edit_value']== 'no'){
				$sql= "UPDATE `date` SET `Cash returned to` = ".$returned." Where id=".$editid; 
				mysql_query($sql) or die("<b>A fatal MySQL error occured</b>.\n<br />Query: " . $query . "<br />\nError: (" . mysql_errno() . ") " . mysql_error());
			}

поле $_POST['returned'] точно корректно заполнено?

попробуйте в сообщение об ошибке вывести сам запрос (переменную $sql), посмотрите, что не так с запросом.
Serge_Bliznykov на форуме   Ответить с цитированием
Старый 20.09.2017, 11:51   #3
Arigato
СуперПрограммист
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Адрес: Россия РФ Регистрация: 27.07.2008
Сообщений: 14,032
Репутация: 3550
По умолчанию

Начнем с того, что вы в сообщении об ошибке выводите $query - переменная не определена. Надо выводить переменную $sql, которая и содержит текст запроса:

Код:

$sql= "UPDATE `date` SET `Cash returned to` = ".$returned." Where id=".$editid;

Возникает вопрос, чему равно значение переменной $returned? Она определена выше:

Код:

if($_POST['returned'])
			$returned = (int)htmlspecialchars(strip_tags($_POST['returned']));

Получается, что если $_POST['returned'] по какой-то причине не передан, то значение $returned не определено или пусто. При подставлении пустого значения в запрос получается синтаксически неверный запрос, типа такого:

UPDATE `date` SET `Cash returned to` = Where id=625

Естественно, поругается на Where.

В общем, выведите значение $sql, там посмотрим.
__________________
E-Mail: arigato.freelance@gmail.com
Arigato вне форума   Ответить с цитированием
Старый 20.09.2017, 13:12   #4
Pro100Bogdan
Пользователь
 
Регистрация: 11.04.2017
Сообщений: 12
Репутация: 10
По умолчанию

Передаю в $returned значение "no", также вывел в ошибку переменную $sql и получился вот такой результат как на прикрепленном файле.
Может есть ещё какие то советы ?
Изображения
Тип файла: png error.png (18.5 Кб, 2 просмотров)
Pro100Bogdan вне форума   Ответить с цитированием
Старый 20.09.2017, 13:28   #5
Arigato
СуперПрограммист
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Адрес: Россия РФ Регистрация: 27.07.2008
Сообщений: 14,032
Репутация: 3550
По умолчанию

Цитата:
Сообщение от Pro100Bogdan Посмотреть сообщение
Передаю в $returned значение "no", также вывел в ошибку переменную $sql
Нет там никакого "no", вы бы хотя бы сами прочитали, что получилось в $sql. О пустом $returned я вам выше и написал. В скрипте необходимо проверять, что если параметр не передан, то не выполнять sql-запрос. Но сейчас не это главное, корень ошибки кроется не в данном скрипте, а там, где формируются отправляемые данные (где у вас форма).
__________________
E-Mail: arigato.freelance@gmail.com
Arigato вне форума   Ответить с цитированием
Старый 20.09.2017, 13:50   #6
Pro100Bogdan
Пользователь
 
Регистрация: 11.04.2017
Сообщений: 12
Репутация: 10
По умолчанию

Цитата:
Сообщение от Arigato Посмотреть сообщение
Нет там никакого "no", вы бы хотя бы сами прочитали, что получилось в $sql. О пустом $returned я вам выше и написал. В скрипте необходимо проверять, что если параметр не передан, то не выполнять sql-запрос. Но сейчас не это главное, корень ошибки кроется не в данном скрипте, а там, где формируются отправляемые данные (где у вас форма).
Дело в том, что это все работало, ничего не менялось, и просто начала появляться эта ошибка, грешу на устаренее используемых мной методов в данных скриптах, но если вам не сложно и вы их видите, ткните мне пожалуйста пальцем.
Также прилагаю скрипт, в котором формируются отправляемые данные, под названием table.rar
Вложения
Тип файла: rar table.rar (2.3 Кб, 2 просмотров)
Pro100Bogdan вне форума   Ответить с цитированием
Старый 20.09.2017, 14:15   #7
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 22,612
Репутация: 5062
По умолчанию

Цитата:
Сообщение от Arigato Посмотреть сообщение
При подставлении пустого значения в запрос получается синтаксически неверный запрос, типа такого:
UPDATE `date` SET `Cash returned to` = Where id=625
Гениально. идеальное попадание!
Serge_Bliznykov на форуме   Ответить с цитированием
Ответ



Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Интерпретатор РНР. PHP Fatal error Pcrepair PHP 23 10.11.2016 20:10
Игра Скачки! Выдает ошибку: [Linker Fatal Error] Fatal: Expected a file name: SEV7 Общие вопросы C/C++ 0 19.05.2012 00:56
Windows+Apache+PHP+MySQL: не работает расширение MySQL. Пепел Феникса Софт 10 15.04.2012 14:10
[Linker Fatal Error] Fatal: Unable to open file 'CXGRIDVCLC6.LIB' Donn Общие вопросы C/C++ 0 16.04.2009 15:25
[Linker Fatal Error] Fatal: Expected a file name: oseni Общие вопросы C/C++ 4 02.01.2009 17:36




15:17.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.

купить трафик


как улучшить посещаемость, а также решения по монетизации сайтов, видео и приложений

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru