Devo fare un programma in C che prende come parametro una stringa,interroga il database Mysql e mi restituisce la tupla contenete quel valore
Questa versione è con valori numerici (del tipo "del tipo restituisci l'impiegato con ID=X,dove X è un numero e lo passo cosi: "./eseguibile X")
Se al posto di un numero dovessi inserire dei caratteri le virgolette "" mi creano dei problemi perchè non riesco ad inserirle nella query sql, come posso fare?
Codice:
#include <mysql.h>
#include <stdio.h>
#include <stdlib.h>
main(int argc,char *argv[]) {
MYSQL *conn;
MYSQL_RES *res;
MYSQL_ROW row;
char *server = "localhost";
char *user = "root";
char *password = "xxx";
char *database = "DB1";
char sql[80];
strcpy(sql,"SELECT * FROM PROVA WHERE ID=");
strcat(sql,argv[1]);
conn = mysql_init(NULL);
if (!mysql_real_connect(conn, server,user, password, database, 0, NULL, 0))
{
fprintf(stderr, "%s\n", mysql_error(conn));
exit(0);
}
if (mysql_query(conn, sql)) {
fprintf(stderr, "%s\n", mysql_error(conn));
exit(0);
}
res = mysql_use_result(conn);
while ((row = mysql_fetch_row(res)) != NULL)
printf("%s %s %s %s\n", row[0], row[1], row[2], row[3]);
mysql_free_result(res);
mysql_close(conn);
}