Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

[C] MySQL - problem z zapytaniem INSERT

[cod3r] 04 Sty 2011 12:11 749 2
  • #1 04 Sty 2011 12:11
    [cod3r]
    Poziom 12  

    Mam następujący problem. Piszę program który łączy się z bazą i w odpowiedniej tabeli ma zapisać jakieś dane. Przykładowo:
    Wykonuję następujące zapytanie:

    Code:
    char buffer[1024];
    
    int numer = 123;
    const char uzytkownik[10];

    ...

    sprintf(buffer,"INSERT INTO `%s` (`id`, `numer`) VALUES (' ', '%d')", uzytkownik, numer);
    if(mysql_query(conn, buffer))
    {
    ..
    }


    Tak więc do tabeli uzytkownik chcę wpisać numer=135.
    Po takim zapytaniu w bazie moim oczom ukazuje się np. 25 pozycji, w której każda ma numer 123.
    Dla rozjaśnienia coś takiego:
    Code:
    id numer
    
    1   123
    2   123
    3   123
    4   123
    .    .
    .    .
    25  123


    Dodam jeszcze że struktura tabeli wygląda następująco:
    pole id ma typ INT i jest ustawione jako AUTO_INCREMENT
    pole numer ma typ INT
    Wszystkie informacje o strukturze dołączam na screenie:
    [C] MySQL - problem z zapytaniem INSERT

    To zapytanie(mam je napisane jako funkcję) wywołuje się w pętli do..while natomiast łączenie z bazą następuje na początku funkcji, a na końcu się rozłączam.

    Korzystam z Krasnala.

    0 2
  • Pomocny post
    #2 04 Sty 2011 14:06
    marcinj12
    Poziom 40  

    Taka moja teoria:
    - jeżeli nie wstawiasz numeru id (ma autoincrement), to pomiń go w insercie,
    - pole numer jest typu integer (liczba), więc chyba powinno być zapisane bez apostrofów,
    Czyli:

    Code:
    INSERT INTO `%s` (`numer`) VALUES (%d)

    0
  • #3 04 Sty 2011 17:43
    [cod3r]
    Poziom 12  

    Zamiana zapytania na proponowaną przez Ciebie to w sumie kosmetyka. Wynik Twojej linijki kodu jest taki sam jak mojej. Tutaj nic się nie zmienia.
    Trochę sobie po testowałem i zaczęło działać tak jak chcę dopiero po wyrzuceniu funkcji z insertem za pętlę, ale dzięki za odzew.

    0