Salve mi era venuta in mente di creare un codice in c++ in cui simula un manager dei pazienti di un ospedale mi spiego meglio,questo codice si connette a un database (Mysql) e da la possiblità di inserire pazienti e modificarli però il programma non vuole saperne proprio di connettersi,ho installato e linkato tutte le librerie neccessarie (uso visual studio 2022) così facendo ho risolto la maggior parte dei problemi con le librerie però da questo errore:
che si ripete sia per username,password,database etc..
il codice:
impossibile utilizzare un valore di tipo "const char *" per inizializzare un'entità di tipo "char *"
che si ripete sia per username,password,database etc..
il codice:
C++:
#include <iostream>
#include <mysql.h>
#include <stdio.h>
int main()
{
MYSQL* conn;
MYSQL_RES* res;
MYSQL_ROW row;
/* Dichiaro le variabili di connessione */
char* server = "localhost:3306";
char* user = "root";
char* password = "root";
char* database = "database";
/*Inizializzo la connessione*/
conn = mysql_init(NULL);
/* Se possibile mi connetto al database altrimenti
esco dal programma e scrivo un messaggio d'errore sullo stderr*/
if (!mysql_real_connect(conn, server,
user, password, database, 0, NULL, 0)) {
fprintf(stderr, "%s\n", mysql_error(conn));
exit(1);
}
/* Invio se possibile la query */
if (mysql_query(conn, "show tables")) {
fprintf(stderr, "%s\n", mysql_error(conn));
exit(1);
}
/*Prendo i risultati della query*/
res = mysql_use_result(conn);
/* Stampo a video i risultati della query */
printf("MySQL Tables in mysql database:\n");
while ((row = mysql_fetch_row(res)) != NULL)
//nel vettore row ci sono i risultati adesso
printf("%s \n", row[0]);
/* Distruggo il puntatore ai risultati della query
e chiudo la connessione al database */
mysql_free_result(res);
mysql_close(conn);
return 0;
}