Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ошибка при двойном запросе в MySQL в Си 
:(
    Опции темы
Calligraff
  Дата 15.9.2017, 09:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 15.9.2017

Репутация: нет
Всего: нет



Добрый день.
Столкнулся с проблемой следующего характера:
Есть код:
Код

    char sql_query[2048];
    sprintf(sql_query, "SELECT @s_id:=sender_id FROM `data` WHERE `status`=1 ORDER BY `created` ASC LIMIT 1; " \
                       "SELECT * FROM `data` WHERE `sender_id`=@s_id ORDER BY `created`;");
    if ( mysql_query(conn, sql_query) == 0 )
    {
        _Log.write(nLOG_INFO, "I feel good!");
    } else {
        char err_text[1024];
        sprintf(err_text, "Error MYSQL query: %s", mysql_error(conn));
        _Log.write(nLOG_ERROR, err_text);
        return -1;
    }


но компилятор ругается следующими матерными словами:
Код

Error MYSQL query: 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 'SELECT * FROM `data` WHERE `sender_id`=@s_id ORDER BY `created`' at line 1


при попытке выполнить данный запрос в интерфейсе PHPMyAdmin - все пучком!

По отдельности SELEC`ты выполняются без проблем в Си.

О среде:
Linux mint
Eclipse C/C++

Цель запроса получить все записи из таблицы, у которых sender_id = <sender_id первой строки результата запроса>

Помогите люди добрый пожалуйста!

Это сообщение отредактировал(а) Calligraff - 15.9.2017, 09:46

Присоединённый файл ( Кол-во скачиваний: 1 )
Присоединённый файл  Снимок_экрана_от_2017_09_15_11_43_16.png 203,24 Kb
PM MAIL   Вверх
Calligraff
Дата 15.9.2017, 09:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 15.9.2017

Репутация: нет
Всего: нет



Вот сама таблица:

Присоединённый файл ( Кол-во скачиваний: 3 )
Присоединённый файл  Снимок_экрана_от_2017_09_15_11_45_36.png 274,48 Kb
PM MAIL   Вверх
xvr
Дата 15.9.2017, 16:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 35
Всего: 223



У вас ругается не компилятор, а MySQL база. Видимо ей не нравится @s_id (или в первом select или во втором)
Скормите запрос в сервер через его родной клиент (командной строки или MySQL Workbench)

Цитата

Цель запроса получить все записи из таблицы, у которых sender_id = <sender_id первой строки результата запроса>
Это можно сделать через вложенный SELECT , без всяких переменных. И даже через обычный реляционный SELECT (один единственный)


PM MAIL   Вверх
tzirechnoy
Дата 18.9.2017, 21:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1173
Регистрация: 30.1.2009

Репутация: -1
Всего: 16



Не нравится ей несколько запросов в mysql_query. Эта функцыя посылает текст запроса цэликом на сервер, и такой синтаксис нескольких запросов (с ; ) не поддержывается.

Добавлено через 45 секунд
Не нравится ей несколько запросов в mysql_query. Эта функцыя посылает текст запроса цэликом на сервер, и такой синтаксис нескольких запросов (с ; ) не поддержывается.
PM MAIL   Вверх
xvr
Дата 19.9.2017, 08:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 35
Всего: 223



С некоторой версии MySQL поддерживается, но надо указать какой то флаг при инициализации (IMHO)


Это сообщение отредактировал(а) xvr - 19.9.2017, 08:59
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1239 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.