PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : c-programmierung



maxip
03-02-2005, 19:58
Hi

ich code eigentlich nur in PHP, aber habe auch schon c/c++ erfahrung (allerdings nur MFC bisher)

ich möchte zur unterstützung meiner PHP skripte ein perfomantes Programm schreiben, dass über einen cronjob sehr häufig (alle 5 minuten) aufgerufen wird und operationen an einer MySQL Datenbank vornimmt.


im prinzip brauche ich ein reines Konsolenprogramm, das nur textausgabe (zur kontrolle im testmodus), dateiausgabe und die Kommunikation mit der MySQL datenbank kann.

brauch ich dazu einframework ? oder welche dateien muss ich einbindden ? reichts einfach dazu die standard bibliotheken zu includen und kann ich auch installierte sachen von mysql includen ?

kennt ihr gute tutorials, um mit c mysql anzusprechen ?

thx & cya max

Detrius
04-02-2005, 02:05
http://dev.mysql.com/doc/mysql/en/c.html

Das sollte doch ein guter Ausgangspunkt sein. ;)

anda_skoa
04-02-2005, 10:40
5 Minuten ist nicht wirklich oft :)

Wäre es nicht einfacher, wenn du es in PHP machst und zur Optimierung etwas wie einen PHP Compiler einsetzt oder zB das hier: http://turck-mmcache.sourceforge.net/index_old.html

Ciao,
_

maxip
04-02-2005, 20:26
sry fehler................

maxip
05-02-2005, 10:06
es ist wirklich leicht

nachdem ich ein beispiel aus dem netz gefunden , hats auch geklappt:


#include <mysql/mysql.h>
#include <stdio.h>

void main ()
{
MYSQL *mysql;
MYSQL_RES *res;
MYSQL_ROW row;
char *query;
int ergebnis,r ,t;

mysql_init(mysql);

if (!mysql_real_connect(mysql,"localhost","web1", "fmjcs1pw","usr_web1_2",0,NULL,0)) {
printf( "Error connectin to database: %s\n",mysql_error(mysql));
}

query="SELECT * FROM test";
ergebnis=mysql_real_query(mysql,query,(unsigned int) strlen(query));

if (ergebnis)
{
printf("Error making query: %s\n",
mysql_error(mysql));
}
else printf("Query ' %s ' made...\n", query);


res=mysql_use_result(mysql);
for(r=0;r<=mysql_field_count(mysql);r++){

row=mysql_fetch_row(res);

if(row<0) break;

for(t=0;t<mysql_num_fields(res);t++)
{
printf("%s ",row[t]);
}

printf("\n");
}

mysql_close(mysql);

}

nur wieso kriege ein Segmentation fault am ende des programms ?

liegt das an char *query; ? wenn ja, was muss ich machen, wenn nein was muss ich machen :D

cya

anda_skoa
05-02-2005, 12:33
Vermutlich sollte es r < mysql_field_count(mysql) heißen

Ciao,
_