webew
Войти » Регистрация
 
С/C++

Проблема с поиском в бд MySQL с++

19 апреля 2016, 14:54
Автор: exhuman
Товарищи, выручайте!) Пытаюсь реализовать проверку логина и пароля в базе MySQL на с++. Реализовал поиск логина в базе и строки в которой он находится. Далее я пытаюсь из таблицы аккаунтов и столбца с паролями по найденному индексу получить пароль. Задаю запрос в базу MySQL указываю с какой части бд я хочу получить информацию. использую "SELECT Password FROM accaunts Where Id =" после ID мне надо указать строку из которой я хочу получить пароль, пытаюсь подставить переменную которая хранит номер строки, но! он не хочет работать с переменными, ему надо число!( как решить данную проблему?

вот код:

void CheckInputs(string login, string pwd)
{
bool l = false, p = false;
int i = 0;
int ind = 0;

if (mysql_query(conn, "SELECT Login FROM accaunts"))
{
fprintf(stderr, "%s\n", mysql_error(conn));
}

res = mysql_use_result(conn);

while ((row = mysql_fetch_row(res)) != NULL)
{
++i, cout << (i) << endl << row[0] << endl;
if (row[0] == login)
{
ind = i;
l = true;
}
}


mysql_query(conn, "SELECT Password FROM accaunts WHERE id=ind");
res = mysql_use_result(conn);
row = mysql_fetch_row(res);
printf("%s ", row[0], "\n");

}

mysql_query(conn, "SELECT Password FROM accaunts WHERE Id LIKE ind"); так тоже не работает(
Добавить комментарий
Отображение комментариев: Древовидное | Плоское
NO USERPIC

exhuman

пробовал конвертировать из Int в String, char.
пробовал заключать переменную в кавычки, скобочки и то и другое)
не помогает(
нету
19.04.2016, 14:56
Ответить

deadka

Один из простых способов сформировать строку, где будут значения Ваших переменных в языке c - это воспользоваться функцией snprintf (не забудьте сделать

#include <stdio.h>


в начале файла) :

Вместо
mysql_query(conn, "SELECT Password FROM accaunts WHERE id=ind");


напишите
char query[100];
snprintf ( query, sizeof(query),"SELECT Password FROM accaunts WHERE id=%d;", ind );
mysql_query(conn, query);
Через more, через less мы бредем в страну чудес...
19.04.2016, 20:15
Ответить
NO USERPIC

exhuman

все заработало)) Спасибо огромное!) только есть пару ошибочек.
snprintf(query, sizeof(query), "SELECT Password FROM accaunts WHERE id=%d;", ind);
а было:
snprintf ( buffer, sizeof(buffer,)"SELECT Password FROM accaunts WHERE id=%d;", ind );

еще раз огромное спасибо!)
нету
20.04.2016, 02:19
Ответить

deadka

Да, конечно query или buffer должен быть и при объявлении и при заполнении.
Через more, через less мы бредем в страну чудес...
20.04.2016, 02:23
Ответить
NO USERPIC

exhuman

еще запятую надо вынести за скобку)
нету
20.04.2016, 04:02
Ответить
© 2008—2017 webew.ru, связаться: x собака webew.ru
Сайт использует Flede и соответствует стандартам WAI-WCAG 1.0 на уровне A.
Rambler's Top100