На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела C/C++: Базы данных
Модераторы: B.V.
  
    > Проблема при формировании динамического запроса
      Добрый день.

      Помогите разобраться, в коде посредством запроса из первой таблицы выбирается id пользователя, текущий id хранится в переменной row. Из другой таблицы необходимо по этому id выбрать информацию.
      Соответственно, я формирую запрос в строковой переменной query путем копирования туда тела запроса, а также конкатенации переменной, хранящей id пользователя. Но в ответ получаю segmentation fault на strcat.
      По идеем проблема в недостатке переменной query, но максимальная длина id 4 символа. Получается явно меньше 256. Что не так?

      P.S. Язык чистый С, предыдущий запрос возвращает все верно. Если делать strcat(query,"1963") например, то все отрабатывает корректно.
      Как из MYSQL_ROW вытащить данные, чтобы их можно было использовать в другом запросе?

      P.P.S. Я пробовал и временную строковую переменную и strncat. Перебрал все возможные извертки, которые мог придумать. Очевидно я чего-то не знаю.

      ExpandedWrap disabled
        char        *query=(char *)malloc(256);
        MYSQL_ROW   row;
        strcpy(query,"SELECT field_value from dopvalues where parent_id=");
        strcat(query,row[0]);
        смотри sprintf()
          О, благодарю, вроде как надо работает.
          0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
          0 пользователей:


          Рейтинг@Mail.ru
          [ Script execution time: 0,0464 ]   [ 16 queries used ]   [ Generated: 27.04.24, 16:35 GMT ]