Wprowadzanie danych do bazy ze zmiennych

0

Chciałbym wprowadzić dane lokalu do bazy ze zmiennych, wydaje mi się że powinno to wyglądać mniej więcej tak:

 mysql_query(conn,"INSERT INTO lokale(nazwa,rodzaj,adres,srt_internetowa,opis) VALUES (\"%s\",'K',\"%s\",\"%s\",\"%s\");",nazwa,adres,str_internetowa,opis); 

nazwa, adres, str_internetowa, opis to zmienne typu string. Niestety powyższy sposób nie działa. Czy ktoś wie jak to powinno wyglądać?

0

Musisz przekazać c-stringa, a więc wywołaj na każdym std::stringu metodę c_str(). Np. nazwa.c_str()

0

Nie do końca rozumiem. Mam użyć tak samo jak wcześniej napisałem metody "INSERT" ale wcześniej na każdą zmienną zastosować

 zmienna.c_str();

?

0
```cpp mysql_query(conn,"INSERT INTO lokale(nazwa,rodzaj,adres,srt_internetowa,opis) VALUES (\"%s\",'K',\"%s\",\"%s\",\"%s\");",nazwa.c_str(),adres.c_str(),str_internetowa.c_str(),opis.c_str()); ``` Zbuduj c-string z zapytania i przekaż go to tej metody.
1
char Bufor[1024];
sprintf(Bufor,"INSERT INTO lokale(nazwa,rodzaj,adres,srt_internetowa,opis) VALUES (\"%s\",'K',\"%s\",\"%s\",\"%s\");",nazwa,adres,str_internetowa,opis); // ewentualnie nazwa.c_str() jeżeli nazwa jest typu string
mysql_query(conn,Bufor);

lub:

stringstream ss;
ss<<"INSERT INTO lokale(nazwa,rodzaj,adres,srt_internetowa,opis) VALUES (\""<<nazwa<<"\",'K',\""<<adres<<"\",\""<<str_internetowa<<"\",\""<<opis<<"\")";
mysql_query(conn,ss.str().c_str());
0

Dzięki, użycie

 char Bufor[1024];
sprintf(Bufor,"INSERT INTO lokale(nazwa,rodzaj,adres,srt_internetowa,opis) VALUES (\"%s\",'K',\"%s\",\"%s\",\"%s\");",nazwa,adres,str_internetowa,opis); // ewentualnie nazwa.c_str() jeżeli nazwa jest typu string
mysql_query(conn,Bufor);

pomogło.

1 użytkowników online, w tym zalogowanych: 0, gości: 1