Toon posts:

[c-guru's!] Seg. fault bij result struct van MySQL

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een groot probleem! En aangezien een segmentation fault alleen veroorzaakt wordt door brakke code is dit vast wel op te lossen..
Ik wil namelijk een result structure, behaald met een query en result=mysql_store_result(&mysql_link), helemaal leegtrekken en in een andere structure pleuren..

De mbla(const char *bla) zorgt ervoor dat ncurses wat tekst displayed zodat ik weet wanneer het foutgaat..
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
    mbla("werkt voor query..");
    mysql_query(&mysql,"select lid,naam from listnames order by lid");
    sql_lists = mysql_store_result(&mysql);
    mbla("werkt na query..");

    rows=0;
    numf=mysql_num_fields(sql_lists);
    mbla("werkt na numfields..");
    while ((sql_list_row=mysql_fetch_row(sql_lists))) {
         mbla("werkt in while..");
         rows++;
         lists[rows].lid=strtol(sql_list_row[0],NULL,0);
         strcpy(lists[rows].naam,sql_list_row[1]);
    }

Ok.. Meer dan 'werkt na de query..' laat ie niet zien, en geeft dan een Segmentation fault. Kennelijk heeftie er dus een probleem mee als ik mysql_num_fields(sql_lists) uitvoer, of op een andere manier het resultaat in sql_lists access.. Zonder die numfields functie geeft ie namelijk een Seg. fault als de while() begint..

Aan het begin van dit progje declare is de volgende vars:
code:
1
2
3
4
5
6
7
8
9
10
11
struct listtype {
      int lid;
      char naam[48];
};

struct listtype lists[10];

MYSQL mysql;
MYSQL_ROW sql_list_row;
MYSQL_RES *result;
MYSQL_RES *sql_lists;

Met natuurlijk uitzondering van er hier niet toedoende vars.. Maargoed.. Ik hoop dat ik mijn probleem zo een beetje te begrijpen heb uitgelegd en dat iemand hier mij hier mee kan helpen..

Bvd, :)

  • Glock
  • Registratie: November 2001
  • Niet online
offtopic:
hej, geen antwoord op je vraag maar vraag aan jou :)

weet je toevallig een site ofzo met een c manual met alle functies bij libraries en hoe je dingen in kleuren kan weergeven etc etc? 8-)

Verwijderd

Topicstarter
Toen ik met C begon (ben nog steeds beginnende) 3 à 4 week geleden vond ik dat ook een groot probleem. De documentatie. Na Google flink te hebben afgespeurd ben ik wel tot de volgende adresjes gekomen..

http://www.cm.cf.ac.uk/Dave/C/CE.html - Stap voor stap tot C, met ook veel docs over IPC (interprocess communication)

http://www.cplusplus.com/ref/indexr.html - Kleine uitleg over verschillende header files zoals stdio.h string.h etc, en welke functies ze bevatten..

http://directory.google.com/Top/Computers/Programming/Languages/C/Tutorials/ - Spreekt natuurlijk voor zich: Google Directory..

http://www.mkssoftware.com/docs/api_index.asp - Niet gericht op Linux C, maar een beschrijving en werking van veel functies die onder C gebruikt kunnen worden.. (produkt van dit bedrijf is geloof ik een port van UNIX C naar Win32)..

Verder ken ik zelf eigenlijk ook vrij weinig doelgerichte links, maar zoek (en vind) veel met Google..

En over je vraag, dingen in kleuren weergeven, dat moet met NCurses.. Docs hierover --> http://www.google.com
:Y)

Heb hier zelf geen ervaring mee, mijn linux box werkt met een mono beelscherm.. groen-zwart.. 8-)

  • Glock
  • Registratie: November 2001
  • Niet online
hoop tips
hier kan ik wat mee, thx :)

Verwijderd

Topicstarter
No prob,
Nu is't alleen voor mij nog wachten op het magische antwoord op mijn vraag.. ;)

Verwijderd

Topicstarter
Het spijt mij mede P&Wers, maar /me heeft een fout begaan..
Mijn SQL query was niet juist omdat het veld 'naam', niet bestond.. 'name' daarentegen wel.. Mijn excuses..

En natuurlijk een heel fijn, gelukkig, tweakend en vooral veel proggend 2002 toegewenst..
Pagina: 1