Forum: PC-Programmierung Mysql und C.Abfrage in Array


von Lars (Gast)


Lesenswert?

Moin,

ich bastel gerade etwas mit C und Mysql rum aber ich komm noch nicht so 
ganz damit klar...

Ich versuche gerade meine MYSQL Tabelle in ein Array zu schreiben damit 
ich das Programmtechnisch weiterverarbeiten kann. Aber leider ohne 
erfolg ich finde kein Beispiel. Nur dieses und das gibt alles nur aus 
mit Printf
1
#include <my_global.h>
2
#include <mysql.h>
3
4
int main(int argc, char **argv)
5
{
6
7
  MYSQL *conn;
8
  MYSQL_RES *result;
9
  MYSQL_ROW row;
10
  int num_fields;
11
  int i;
12
MYSQL_FIELD *field;
13
14
int array[100];
15
16
  conn = mysql_init(NULL);
17
  mysql_real_connect(conn, "localhost", "wago", "", "wago", 0, NULL, 0);
18
19
  mysql_query(conn, "SELECT * FROM data");
20
  result = mysql_store_result(conn);
21
22
  num_fields = mysql_num_fields(result);
23
24
  while ((row = mysql_fetch_row(result)))
25
  {
26
      for(i = 0; i < num_fields; i++)
27
      {
28
          printf("%s ", row[i] ? row[i] : "NULL");
29
      }
30
      printf("\n");
31
  }
32
33
printf("%s\n", row[0]);
34
35
  mysql_free_result(result);
36
  mysql_close(conn);
37
38
}



Kann mir evtl jemand einen Tip geben?? Wäre nett

Lars

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Wenn das hier

>           printf("%s ", row[i] ? row[i] : "NULL");

sinnvolle Werte ausgibt, dann ist das doch leicht auszuwerten:
1
if (row[i])
2
  array[i] = atoi(row[i]);

(hier ohne Bereichsüberprüfung für den Arrayindex!)

von Lars (Gast)


Lesenswert?

Ok danke.

Aber warum bekomm ich denn dann einen Speicherzugriffsfehler bei nur 
paar Daten:

1 MW_LS_Rollo_Stube_So 12309 0 1 0
2 MW_LS_Rollo_Schlaf_S 12310 0 1 0

Das Steht in meiner Datenbank.

von Dennis H. (c-logic) Benutzerseite


Lesenswert?

Hast Du dir in Bezug Mysql-C-Api schonmal Befehle wie 
mysql_stmt_bind_result() angeschaut ? Damit spart man sich so Konstrukte 
mit ATOI etc.

von Lars (Gast)


Lesenswert?

Danke habs hinbekommen die Daten in ein Array zu bekommen :-D


Nun müssen die Daten wieder in die Datenbank.....Also Array-> MYSQL 
Update gibt da evtl auch ne Tip

von Noname (Gast)


Lesenswert?

Was wars Problem? Kannst Du den funktionierenden Code posten,
damit die Nachwelt auch noch was davon hat? Danke!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.