Hallo,
ich versuche einen Integer zu vergleichen, aber es kommt die Warnung: "Warnung: Vergleich zwischen Zeiger und Ganzzahl" und es wird bei folgendem code "test3" ausgegeben, obwohl "test1" ausgegeben werden sollte.
Code:
mysql_real_query(my, STR, strlen(STR));
res = mysql_store_result (my);
while ((row = mysql_fetch_row (res)) != NULL) {
if (row[5] == 1) {
printf ("test1");
}
else if (row[5] == 2) {
printf ("test2");
}
else
printf ("test3");
}
In dieser Mysql Spalte steht die Zahl 1 und der typ der Spalte ist Int(1).
Wenn ich über
printf ((char *) row[5]);
das ausgeben lasse, gibt er die 1 aus. Aber wenn ich die Abfragen entsprechend anpasse:
mysql_real_query(my, STR, strlen(STR));
res = mysql_store_result (my);
while ((row = mysql_fetch_row (res)) != NULL) {
if ((char *) row[5] == "1") {
printf ("test1");
}
else if ((char *) row[5] == "2") {
printf ("test2");
}
else
printf ("test3");
}
kommt immer noch "test3" raus (aber ohne Warnung).
Woran kann dies liegen?