Moin,
ich häng mal wieder fest, seltsamer weise immer da wo ich eigentlich
denke das es doch einfach sein müsste. zum programm: es holt einige
daten aus einer datenbank unter anderem eine id, diese id ist in einer
anderen tabelle (der selben datenbank) einem programm namen zugeordnet.
aber seht selbst:
#include <mysql/mysql.h>
#include <stdio.h>
#include <string.h>
int main() {
MYSQL mysql;
MYSQL_RES *res;
MYSQL_RES *res2;
MYSQL_ROW row;
MYSQL_ROW row2;
char query[200];
char query2[200];
char channel_name;
mysql_init(&mysql);
mysql_real_connect(&mysql,"localhost","user","passwd","datenbank",0,NULL,0);
sprintf(query,"SELECT programm, count(DISTINCT user)AS anzahl_user
FROM daten WHERE datum like '20100913' AND zeit like '0000' GROUP BY
programm ORDER BY anzahl_user LIMIT 1,15 ");
mysql_real_query(&mysql,query,(unsigned int)strlen(query));
res = mysql_use_result(&mysql);
while(row = mysql_fetch_row(res)) {
sprintf(query2,"SELECT channel_name FROM channels WHERE pid LIKE
'%s'", row[0]);
mysql_real_query(&mysql,query2,(unsigned int)strlen(query2));
res2 = mysql_use_result(&mysql);
while(row2 = mysql_fetch_row(res2)) {
/* und hier weis ich nicht weiter, das was auskommentiert ist waren
einige meiner versuche */
//strcpy(channel_name, row2[0]);
//channel_name = row2[0];
strncpy(channel_name, row2[0], 5);
}
/* so soll es dann ausgegeben werden, es endet aber mit einem
Speicherzugriffsfehler */
printf("%s:%s, ",channel_name,row[1]);
//printf("%s:%s, ",row2[0],row[1]);
channel_name = "";
}
mysql_free_result(res);
mysql_free_result(res2);
return 0;
}
Die 2. while schleife könnte man sich sparen, es wird nur ein ergebniss
gefunden.
Ich vermute mal das es wieder was mit den variablen zu tun hat die c ja
nicht kennt ;)
Ich sach mal "akustisch" hab ich das wohl verstanden aber bei der
umsetzung scheints zu hapern, jedenfalls ist es nen gefühl von mir.
Nochmal ne 2. frage:
beim kompilieren spuckt gcc des öfteren mal:
warning: assignment makes integer from pointer without a cast
aus.
was hat denn das zu bedeuten? bei einem anderen progämmchen bekomm ich
auch so eine warung, trotzdem funktioniert es wie es soll.
-Sven-
--
----------------------------------------------------------------------------
PUG - Penguin User Group Wiesbaden - http://www.pug.org