Salve a tutti,
ho un problema con l'inserimento di alcuni dati ricevuti da una postazione client in un db mysql.
in pratica il problema è quando vado a inserire i dati nel db in questa riga:

mysql_query(conn,
"INSERT INTO dati (x, y, temperature) VALUES ( 'x', 'y', 'temp')");

}

in pratica mi inserisce i valori 0,0,0 perchè non vede x,y,temp come numeri ma come stringhe.
il codice completo è il seguente:


Codice PHP:
#include <mysql/my_global.h>
#include <mysql/mysql.h>
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <netdb.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>

#define QUEUE_LEN 20
#define BUFF_SIZE 20

int main()
{
 
MYSQL *conn;        /*comandi per inizializzare mysql */
 
MYSQL_RES *result;
 
MYSQL_ROW row;
int i 1;
int temp/*inizializza la varabile di temperatura */
int x/* inizializza la varabile x */
int y/* inizializza la varabile y */
int sk/* Socket per la comunicazione del server */
int client/* Socket per la comunicazione con il client */
int ret/* Ritorno delle funzioni */
int len/* Dimensione strutture dati */
struct sockaddr_in s_addr/* Indirizzo Server */
struct sockaddr_in c_addr/* Indirizzo Client */

int buffer[BUFF_SIZE]; /* definisco l'arrey Buffer di Ricezione dati */

int port 2001/* Porta del Server */
char address[] = "127.0.0.1"/* Indirizzo IP del Server */


    /* Creazione del socket */
    
sk socket(AF_INETSOCK_STREAM0);    

while (
== 1
{

    
/* Inizializzazione indirizzo del Server */
    
bzero(&s_addrsizeof(s_addr));
    
s_addr.sin_family AF_INET;
    
s_addr.sin_port htons(port);
    
s_addr.sin_addr.s_addr htonl(INADDR_ANY);


    
/* Bind del socket */
    
ret bind(sk, (struct sockaddr*) &s_addrsizeof(s_addr) );
    
    
    
/* Creazione coda di richieste di connessione */
    
ret listen(skQUEUE_LEN);
    
    
    
/* Inizializzazione indirizzo del Client */
    
bzero(&c_addrsizeof(c_addr));
    
len sizeof(c_addr);
    
    
/* Accept connessioni con i client */
    
client accept(sk, (struct sockaddr*)&c_addr, &len );

    
/* Ricezione Dati */
    
ret recv(clientbufferBUFF_SIZE0);
    
        
    
/* scomposizione array in variabili indipendenti */
    
int x buffer[0];
    
int y buffer[1];
    
int temp buffer[2];
    
    
/*controllo dati ricevuti */
    
printf("Server Receive: x= %d\n"x);
    
printf("Server Receive: y= %d\n"y);
    
printf("Server Receive: temp= %d\n"temp);

    
/* scrittura in mysql */
    
conn mysql_init(NULL);

    if(!
mysql_real_connect(conn"localhost""root""pass""rrobotics"0NULL0))
    {

        
printf("cannot connect");
     }

    else{

         
mysql_query(conn
         
"INSERT INTO dati (x, y, temperature) VALUES ( 'x', 'y', 'temp')");

    }

     
mysql_close(conn);
     
    
/* Chiusura del socket di comunicazione con il Client */
    
close(client);
    }


in pratica a me servirebbe riuscire ad inserire queste variabili che sono dei numeri nel db.
c'è qualcuno che mi può aiutare? grazie!!!