Ich versuch emomentan wörter aus einer MySQL Datenbank auszulesen,
was inzwischen auch klappt. Diese kann ich danach auch ausgeben, in dem ich
schreibe. ich wollte das wort jetzt aber als rückgabe wert zurückgeben.
Das klappt aber nicht.
Auf der Konsole werden nur wirre Zeichen ausgegeben.
Mein Code:
My SQL abfrage:
Funktionsaufruf in der Main:
Ich hoffe mir kann einer helfen.
was inzwischen auch klappt. Diese kann ich danach auch ausgeben, in dem ich
C:
printf(row[1]);
Das klappt aber nicht.
Auf der Konsole werden nur wirre Zeichen ausgegeben.
Mein Code:
My SQL abfrage:
C:
char *mysql_wort_abfrage(char *server, char *user, char *password, char *database, char *table, int zeile)
{
char sqlquery[100];
MYSQL *connect;
MYSQL_ROW row;
MYSQL_RES *res;
char *result;
/* Handle initialisieren */
connect = mysql_init(NULL);
if(connect == NULL)
{
fprintf(stderr, " Initialisierung fehlgeschlagen\n");
return "error";
}
if( mysql_real_connect(connect, server, user, password, database, 0, NULL, 0) == NULL)
{
fprintf (stderr, "Fehler mysql_real_connect():""%u (%s)\n",mysql_errno (connect), mysql_error (connect));
return "error";
}
else
{
#if defined DEBUG
printf("Debug: Erfolgreich mit dem MySQL-Server verbunden!\n");
#endif
/////////////////////////////////////////////////////////////////////
/* den Inhalt der SQL Query in eine Variable packen*/
sprintf(sqlquery, "SELECT * FROM %s WHERE id_%s = %d", table, table, zeile );
/* die SQL query senden*/
if (mysql_query(connect, sqlquery))
{
fprintf(stderr, "%s\n", mysql_error(connect));
return "error";
}
res = mysql_use_result(connect);
row = mysql_fetch_row(res);
if(row != NULL)
{
/* die Daten ausgeben (row[1] ist das Attribut in der ersten Spalte,
row[2] das Attribut der zweiten Spalte usw.)*/
printf(row[1]); NL
sprintf(result, row[1]);
}
else
{
printf("Fehler.\n");
}
/* Speicher freigeben und Verbindung trennen */
mysql_free_result(res);
/*
Datenbank arbeit
*/
mysql_close (connect);
#if defined DEBUG
printf("Debug: Verbindung mit dem MySQL-Server erfolgreich beendet");
#endif
return row[1];
}
}
Funktionsaufruf in der Main:
C:
char *wort;
int main()
{
wort = mysql_wort_abfrage("Server", "root", "123456", "Wörter", "Nomen", 5);
printf(wort);
while(1);
}
Ich hoffe mir kann einer helfen.