Не работает запрос для sql

Не работает запрос sql

При нажатии на кнопку запрос не срабатывает! С остальными запросами эта кнопка работает..
Код кнопки ниже

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Не работает SQL запрос
Использую SQLite в совокупности с WPF, C# Имею несколько текстбоксов в программе, по значениям.

Sql запрос update не работает
Ну собственно никаких ошибок не выдает, но изменения не вносятся в бд. connection.Open(); .

Не работает запрос по БД SQL Server
Всем привет! Не могу понять, почему не выполняется запрос. В таблице у меня 1 запись, но он её.

Sql запрос не корректно работает
SELECT DISTINCT ПодКатегория_Данные.Наименование FROM ПодКатегория_Данные Where Адрес LIKE.

Вложенный join зачем ?

Добавлено через 1 минуту
И что значит «не работает» ? Ничего не возвращает ? Ошибка на сервере ? Молоко на плите выкипело ?

Проверяю запрос через Access таблицы там все работает!

Добавлено через 3 минуты
Это значит ничего не отображает в поле, если через аксес проверяю этот же запрос то он все отображает, а тут почему-то в форме не отображает список

Добавлено через 2 минуты
Я этот запрос создал через sql конструктор в Access, там он работает, а через форму в с# не отображает полей этот запрос

Возможно, дело в уродливой привычке использовать кириллицу при названии сущностей БД (таблицы, поля и т.д.).
Попробуйте брать в кв.скобки абсолютно все названия, включая имена таблиц.

Ну и вложенные джоины.. Не уверен, что провайдер корректно их обрабатывает.

Добавлено через 3 минуты
Да, убедитесь что в ридере ничего нет, поставив брейк сразу после чтения НД (ExecuteReader).

SQL запрос не корректно работает
Здравствйте! Помогите пожалуйста разобраться с проблемой. Есть локальная MySQL БД, кодировка utf.

Не работает запрос в SQL compact CE
Создал консольное приложение, через NuGet добавил необходимые dll для работы с базой. Программно.

Не работает запрос INSERT к БД SQL Server
Здравствуйте! Помогите, пожалуйста, разобраться с запросом INSERT. Создал базу данных, ввел две.

Не работает SQL-запрос SELECT и SqlDataReader
Всем привет, проблема в следующем: Мне нужно получить 1 значение из БД, но ридер тупо не хочет.

Кто знает, почему не работает такой SQL-запрос? Всегда пустой рекордсет.
У меня в asp-странице идет запрос к БД, такого рода. ‘SELECT ALL * FROM tbl_price WHERE name.

Не работает запрос с одинаковыми типами данных c# decimal, SQL Server Decimal(18,2)
Здравствуйте, не понимаю почему не проходит запрос на бд, с одинаковыми типами данныхDecimal(18,2).

Источник

Не работает SQL-запрос

В этой статье речь пойдёт об одной из самых распространённых причин, почему не работает SQL-запрос. Мы сейчас не берём в расчёт «случайные ошибки». Здесь идёт речь о передаче данных их через форму и последующее их использование в SQL-запросах, которые иногда почему-то не работают.

Предположим, что Вы делаете комментирование у себя на сайте. И Вы хотите, чтобы пользователь имел право вводить любые символы, даже кавычки, обратные слеши и прочее. Предложим примерный вид Вашего запроса на вставку новой записи в таблицу комментариев:

INSERT INTO `mysite_comments` (`name`, `comment`) VALUES (‘$name’, ‘$comment’)

Теперь давайте подставим в этот SQL-запрос реальные данные, допустим, name будет Михаил, а comment будет Тестирование.

INSERT INTO `mysite_comments` (`name`, `comment`) VALUES (‘Михаил’, ‘Тестирование’)

Как Вы думаете, сработает такой запрос? Безусловно, он будет прекрасно работать. Но что если кто-нибудь введёт name Михаил, а comment Мой ‘ комментарий:

INSERT INTO `mysite_comments` (`name`, `comment`) VALUES (‘Михаил’, ‘Мой ‘ комментарий’)

Как Вы понимаете, данный SQL-запрос не будет выполнен. И вот теперь расскажу об решении этой проблемы.

Необходимо любые переменные, которые используются в SQL-запросах, пропускать через функции addslashes(). Данные функция занимается экранированием следующих спецсимволов: одинарная кавычка, обратная кавычка, двойная кавычка и обратный слеш.

Таким образом, если мы сделаем так:

$name = addslashes($name);
$comment = addslashes($comment);

То наш SQL-запрос станет таким:

INSERT INTO `mysite_comments` (`name`, `comment`) VALUES (‘Михаил’, ‘Мой \’ комментарий’)

И вот этот SQL-запрос уже выполнится без проблем.

И ещё один момент, о котором часто забывается. Любые входные данные надо обязательно пропускать через функцию htmlspecialchars(), за исключением отдельных случаев. Данная функция избавит Вас от заливки в базу HTML-кода.

Чтобы понять важность функции htmlspecialchars() давайте разберём простой пример, связанный с теми же комментариями. Если пользователь будет иметь право передавать HTML-код (а он это права всегда имеет), который впоследствии не будет никак обработан, то при выводе комментария на страницу этот код будет выполнен. Самый простой пример — это сделать редирект на JavaScript на сайт злоумышленника. Таким образом, любой, кто зайдёт на страницу с этим комментарием, будет мгновенно отправлен на другой сайт.

Подведём небольшой итог. Всегда используйте функцию htmlspecialchars() для всех входящих данных, за исключением самых редких случаев. И всегда используйте функцию addslashes() для каждой переменной, участвующей в SQL-запросах.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

Она выглядит вот так:

  • BB-код ссылки для форумов (например, можете поставить её в подписи):
  • Комментарии ( 38 ):

    Михаил, помогите пожалуйста. Пишу вот такую функцию. Затем идёт html форма и после пишу код Здесь $_POST[‘send’] это кнопка submit отправки. НО ничего не вставляется в базу! Почему?

    Проверьте что будет если сам запрос ввести напрямую в phpmyadmin. Возможно действительно поля не добавляются, из-за какой-нибудь ошибки.

    «И всегда используйте функцию addslashes() для каждой переменной, участвующей в SQL-запросах.» а mysql_real_escape_string когда использловать?

    Вместо addslashes() можно использовать mysql_real_escape_string(), причём это функция более безопасная, если кодировка не UTF-8.

    Она по-моему экранирует только двойные и одинарные кавычки

    Ещё обратный слэш. Этого достаточно, чтобы захватить все спецсимволы.

    Доброго времени суток,в меня такой вопрос,а что нужно писать в файле где сохраняються нустройки к базе данных редакторо tinyMCE.Дайте мне код

    В меня токай еще вопрос.а Вы не знаете где можно скачать редактор который сможет конвертировать музыку или видео по качеству и по расшерению екрана?

    Есть ffmpeg: http://myrusakov.ru/php-ffmpeg.html Для аудио надо поискать что-то аналогичное.

    Так а как же делать? Имеем: addslashes() и htmlspecialchars() Надо пропускать вводимые пользователем данные через обе эти функции или через одну из них? Если через обе, то имеет ли значение в какой последовательности? Можно чуточку поподробнее об этом? &&& еще и про stripslashes() начитал тут вдобавок 🙂

    Надо через обе, сначала через htmlspecialchars(), потом через addslashes().

    то есть надо просто таким образом обрабатывать данные? $text_comment = $_POST[«text_comment»]; $text_comment = htmlspecialchars($text_comment); $text_comment = addslashes($text_comment); и дальше уже вставлять $text_comment в SQL запрос. и все?

    Михаил, при вводе, например: «GHJDTHRF» в поле для комментариев и отправке на сайт, выводит потом \»GHJDTHRF\» в самиз комментах. А вото так не нужно. Скажи, пожалуйста, как подрихтовать? 🙂

    Если выводить из базы, то такого никогда не будет. Выводите из базы, а не берите откуда-то ещё.

    хм. да в том то и дело, что из базы как раз и вывожу! 🙂 вот так в базе хранится: \»GHJDTHRF\»

    Значит, нарушаете порядок вызова функций. Не может добавляться слэш к & через addslashes(). А у Вас он почему-то находится. И ещё добавьте в .htaccess magic_quotes_qpc off magic_quotes_runtime off magic_quotes_sybase off Возможно, дело в этом.

    добавил и все сломалось совсем 🙂 ошибку 500 выдает! .htaccess стал таким: AddDefaultCharset UTF-8 magic_quotes_qpc off magic_quotes_runtime off magic_quotes_sybase off после каждой строчки не надо добавлять ник4аких разделительных знаков?

    Просто вот так напишите и всё: php_value magic_quotes_gpc 0

    А нужно пропускать через эти функции, например, название фотографии, которую пользователь размещает на сайт. может злоумышленник всунуть каку таким образом? .jpeg

    Михаил, хочу вывести статью в отдельном файле с подставление нужных значений. Есть форма из которой заносятся данные в базу данных под id. Потом выводит нужную часть информации в шаблоне и ссылку на статью, но в статье в ссылку id не подставляется и выводит пустой шаблон. Вот код: function getArticle ($id) < global $mysqli; connectDB(); $result_set = $mysqli->query («SELECT * FROM `action` WHERE `id`= ‘id'»); closeDB(); return $result_set->fetch_assoc (); > function ResultSetToArray ($result_set) < $array = array (); while (($row = $result_set->fetch_assoc ()) != false); $array[] = $row; return $array; > а это в файле для вывода статьи : Буду очень благодарен!!

    честно говоря я уже пытаюсь найти ошибку уже очень долго. и прошу Вас, скажите есть здесь ошибка или нет.

    Я не вижу сразу, но я никак не могу найти ошибку, как бы этого не хотел, надо абсолютно весь код смотреть во всех файлах. Ошибка может быть, где угодно.

    я могу Вам на почту отправить файлы с кодом, если Вы не против.

    Notice: Undefined index: id in Z:\home\site.localhost\www\id.php on line 4 выводит вот такую ошибку. а вот код где ошибка:

    Делайте проверку на существование $_GET[«id»] через isset, а уже потом обращайтесь к этому массиву.

    уже пробовал. ошибки нет, но все равно информация не выводится

    Она не выводится, потому что $_GET[«id»] — не существует в массиве. Возможно, из-за того, что URL с ошибкой.

    Михаил, после isset: if(isset($_GET[‘id’])) < $action = getArticle($_GET['id']); >начало выводить ошибки: Notice: Undefined variable: action in Z:\home\site.localhost\www\id.php on line 6 Notice: Undefined variable: action in Z:\home\site.localhost\www\id.php on line 7 Notice: Undefined variable: action in Z:\home\site.localhost\www\id.php on line 8 Notice: Undefined variable: action in Z:\home\site.localhost\www\id.php on line 9 Notice: Undefined variable: action in Z:\home\site.localhost\www\id.php on line 10 Notice: Undefined variable: action in Z:\home\site.localhost\www\id.php on line 11 Notice: Undefined variable: action in Z:\home\site.localhost\www\id.php on line 12

    Смысл этого замечания (а не ошибки) в том, что Вы используете непроинициализированные переменные.

    а кактм образом мне их проиницизировать?

    Не знаю, в данную ли рубрику я пишу, но проблема у меня в следующем. Есть мониторинг обменных валют. В последние дни при попытке обновить экспортный файл курсов выдает ошибку: WordPress database error: [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 ‘get, IF (e.start 0, 1.0000, IF (e.startx <> 0, e.sta’ at line 4] INSERT INTO `wp_emetal_calc` SELECT e.*, IF (e.start 0, e.startx / e.start, IF (e.startx <> 0, 1.0000, e.startx)) get, IF (e.start 0, 1.0000, IF (e.startx <> 0, e.start / e.startx, e.start)) give FROM `wp_emetal` e WHERE emetalx <> emetaly AND start <> 0 AND startx <> 0 Писал на хостинг. Вот переписка: Здравствуйте, нужна Ваша помощь, возникла непонятная проблема, мой сайт http://superobmen.org/ который находится на этом аккаунте, ещё сегодня работал всё было нормально, сейчас сам сайт в принципе работает, но что-то странное произошло с базой данных, сайт является мониторингом и регулярно выводит определённые данные на главной странице, сейчас страница пустая, ни каких данных не выдает, что произошло не могу понять, внутри в админке пишет такую ошибку: database error: [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 ‘get, IF (e.start 0, 1.0000, IF (e.startx <> 0, e.sta’ at line 4] помогите плиз, пробую восстановить из бекапа, тоже выдает ошибку. Вы, 02.12.2014 18:43 Здравствуйте, можно посмотреть полностью код запроса? Антон Алексеевич, 02.12.2014 18:48 если вы имеете ввиду саму ошибку, которую выдает скрипт после запуска для обновления, тогда вот: WordPress database error: [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 ‘get, IF (e.start 0, 1.0000, IF (e.startx <> 0, e.sta’ at line 4] INSERT INTO `wp_emetal_calc` SELECT e.*, IF (e.start 0, e.startx / e.start, IF (e.startx <> 0, 1.0000, e.startx)) get, IF (e.start 0, 1.0000, IF (e.startx <> 0, e.start / e.startx, e.start)) give FROM `wp_emetal` e WHERE emetalx <> emetaly AND start <> 0 AND startx <> 0 Вы, 02.12.2014 19:31 Здравствуйте, уточните какие шаги необходимо выполнить, чтобы воспроизвести ошибку? Предоставьте необходимые доступы. Денис Викторович, 02.12.2014 19:51 вот с помощью данной ссылки: http://superobmen.org/wp-content/plugins/exchangers-monitor/tbot.php?tb=superobmen.org запускается скрипт и в результате выдает ошибку которой не должно быть. Вы, 02.12.2014 20:27 Приветствую. Прошу прощения за долгий ответ. Проблема, собственно, заключается в некорректном синтаксисе запроса к БД, как и указано в ошибке. Полагаю, для начала, Вам необходимо уточнить, по какой причине появляется данная ошибка у разработчика данного скрипта. Максим Викторович, 03.12.2014 01:51 Подскажите, а у вас вчера ни чего не происходило с MySQL, может быть версия менялась, обновлялась или ещё что либо? Вы, 03.12.2014 14:00 Нет. Скорее всего это не будет являться причиной ошибки в синтаксисе запроса к базе. Роман Игоревич, 03.12.2014 15:10 Может Вы поможете? Или подсказать что делать?

    Вам уже отвечали Мы не правим чужой код. Обратитесь к разработчику вашего плагина. В чём ошибка,вам уже сказали:некорректный синтаксис mysql Что за бред у вас в синтаксисе разобрать вообще проблемно. Куча левой ненужной ерунды. Мой вам совет,выбросить этот плагин

    Для добавления комментариев надо войти в систему.
    Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.

    Источник

    Читайте также:  Саб мистери не работает
    Оцените статью