ElFunghi
Erfahrenes Mitglied
Hallo,
da ich leider meine Brötchen nicht mit Programmierung verdiene, hänge ich bei sehr einfachen Aufgaben schon voll im Mist..
Ich möchte eine einfache MySQL Abfrage in C starten. Soweit funktioniert das auch alles.
Wenn ich in die mysql_query direkt die Abfrage schreibe, bekomme ich auch meine Daten die ich benötige.
Nur da der Typ dort const char ist, kann ich ja nicht einfach (wie bei PHP) "id=(variable)" reinschreiben.
Also muss ich vorher die const char passend zusammen bauen, und genau da hänge ich fest.
Wie stelle ich das an? Ich bekomme nur ständig Fehlermeldungen vom Debugger das die Datentypen nicht zueinander passen etc.
Ich möchte also nichts anderes tun als für die mysql_query die Abfrage zusammensetzen.
"SELECT wert FROM tabelle WHERE id=1" - wobei statt der direkten 1 natürlich dann der Wert einer Variable drin steht.
Aber ich habe mich in meinem C Buch und der Google Suche so dermaßen verfrantzt, das ich gar nicht mehr klar komme.
Vielleicht könnte mir da Jemand helfen?
Viele Grüße
ElFunghi
da ich leider meine Brötchen nicht mit Programmierung verdiene, hänge ich bei sehr einfachen Aufgaben schon voll im Mist..
Ich möchte eine einfache MySQL Abfrage in C starten. Soweit funktioniert das auch alles.
Wenn ich in die mysql_query direkt die Abfrage schreibe, bekomme ich auch meine Daten die ich benötige.
Nur da der Typ dort const char ist, kann ich ja nicht einfach (wie bei PHP) "id=(variable)" reinschreiben.
Also muss ich vorher die const char passend zusammen bauen, und genau da hänge ich fest.
Wie stelle ich das an? Ich bekomme nur ständig Fehlermeldungen vom Debugger das die Datentypen nicht zueinander passen etc.
Ich möchte also nichts anderes tun als für die mysql_query die Abfrage zusammensetzen.
"SELECT wert FROM tabelle WHERE id=1" - wobei statt der direkten 1 natürlich dann der Wert einer Variable drin steht.
Aber ich habe mich in meinem C Buch und der Google Suche so dermaßen verfrantzt, das ich gar nicht mehr klar komme.
C++:
#include <stdio.h>
#include <mysql.h>
#include <Windows.h>
MYSQL *conn;
MYSQL_FIELD *field;
int main(int argc, char *argv[])
{
MYSQL *mysql = NULL;
mysql = mysql_init(mysql);
if (!mysql) {
puts("Init faild, out of memory?");
return EXIT_FAILURE;
}
if (!mysql_real_connect(mysql,
"localhost",
"root",
"password",
"db",
0,
NULL,
CLIENT_FOUND_ROWS )) {
puts("Connect failed\n");
}
else {
if (mysql_query(mysql, "SELECT wert FROM tabelle WHERE id=1")) {
printf("Query failed: %s\n", mysql_error(mysql));
}
else {
MYSQL_RES *result = mysql_store_result(mysql);
if (!result) {
printf("Couldn't get results set: %s\n", mysql_error(mysql));
}
else {
MYSQL_ROW row;
int i;
int num_fields = mysql_num_fields(result);
while ((row = mysql_fetch_row(result))) {
for (i = 0; i < num_fields; i++) {
printf("%s", row[i]);
}
putchar('\n');
}
mysql_free_result(result);
}
}
}
mysql_close(mysql);
return EXIT_SUCCESS;
}
Vielleicht könnte mir da Jemand helfen?
Viele Grüße
ElFunghi