Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.218.168.16] |
|
Сообщ.
#1
,
|
|
|
Добрый день.
Помогите разобраться, в коде посредством запроса из первой таблицы выбирается id пользователя, текущий id хранится в переменной row. Из другой таблицы необходимо по этому id выбрать информацию. Соответственно, я формирую запрос в строковой переменной query путем копирования туда тела запроса, а также конкатенации переменной, хранящей id пользователя. Но в ответ получаю segmentation fault на strcat. По идеем проблема в недостатке переменной query, но максимальная длина id 4 символа. Получается явно меньше 256. Что не так? P.S. Язык чистый С, предыдущий запрос возвращает все верно. Если делать strcat(query,"1963") например, то все отрабатывает корректно. Как из MYSQL_ROW вытащить данные, чтобы их можно было использовать в другом запросе? P.P.S. Я пробовал и временную строковую переменную и strncat. Перебрал все возможные извертки, которые мог придумать. Очевидно я чего-то не знаю. char *query=(char *)malloc(256); MYSQL_ROW row; strcpy(query,"SELECT field_value from dopvalues where parent_id="); strcat(query,row[0]); |
Сообщ.
#2
,
|
|
|
смотри sprintf()
|
Сообщ.
#3
,
|
|
|
О, благодарю, вроде как надо работает.
|