Variable comparison in C, and MySql field [duplicate]

3

I am trying to compare the name variable entered by the user, with the value obtained in the column name MySQL .

char name[45]; //declarando variável name
scanf ("%s", &name); //Lendo variável name


mysql_query (&mysql, "SELECT name FROM login WHERE id=1"); //Selecionar nome
resp = mysql_store_result(&mysql); // Salvar Resultado
linhas = mysql_fetch_row(resp); // Capturar Linha

if (name == linhas[0]) //Verificar se a variável name é igual ao resultado.
   printf("%s\t",linhas[0]); //Imprimir Linha
else
   printf ("Nomes diferentes\n");

Although the condition is true , it is returning as false .

How can I solve this problem?

Am I doing the verification correctly?

    
asked by anonymous 12.11.2016 / 20:45

1 answer

3

To make the comparison of two Strings , it is necessary to use the function strcmp(palavra1, palavra2) , if the result is equal to zero , it means that both Strings are equal.

In this case, the correction would be:

char name[45]; //declarando variável name
scanf ("%s", &name); //Lendo variável name


mysql_query (&mysql, "SELECT name FROM login WHERE id=1"); //Selecionar nome
resp = mysql_store_result(&mysql); // Salvar Resultado
linhas = mysql_fetch_row(resp); // Capturar Linha

if (strcmp(name,linhas[0]) == 0) //Verificar se a variável name é igual ao resultado.
   printf("%s\t",linhas[0]); //Imprimir Linha
else
   printf ("Nomes diferentes\n");
    
12.11.2016 / 21:04