• User

    interfacciarsi a mysql

    salve, mi servirebbe un suggerimento...
    mi è stato chiesto di realizzare un modulo per piattaforma linux, possibilmente scritto in C, che permetta di interfacciarsi con un database mysql e
    cercare e visualizzare dati in esso contenuti secondo la parola chiave inserita.
    sapete dirmi dove posso trovare qualcosa da cui prender spunto o se avete suggerimenti non esitate...
    grazie


  • User

    salve, mi servirebbe un suggerimento...
    mi è stato chiesto di realizzare un modulo per piattaforma linux, possibilmente scritto in C, che permetta di interfacciarsi con un database mysql e
    cercare e visualizzare dati in esso contenuti secondo la parola chiave inserita.
    sapete dirmi dove posso trovare qualcosa da cui prender spunto o se avete suggerimenti non esitate...
    grazie


  • User

    salve, mi servirebbe un suggerimento...
    mi è stato chiesto di realizzare un modulo per piattaforma linux, possibilmente scritto in C, che permetta di interfacciarsi con un database mysql e
    cercare e visualizzare dati in esso contenuti secondo la parola chiave inserita.
    sapete dirmi dove posso trovare qualcosa da cui prender spunto o se avete suggerimenti non esitate...
    grazie


  • ModSenior

    Salve fokia.
    Non è consentito dal regolamento aprire discussioni identiche in più aree del forum.
    Lasciamo aperta questa, vediamo se qualcuno può esserle d'aiuto 😉


  • User

    Ciao,
    Il punto di partenza e' naturalmente "MySql C API" http://dev.mysql.com/doc/refman/5.0/en/c.html

    Se hai gia' mysql installato devi linkare libmysqlclient.a/.so.
    Se invece hai solo la base di dati devi scaricare mysql 5.1 (in beta) che contiene un embedded server (libmysqld.a) che devi linkare invece di usare libmysqlclient.

    Esempi di utilizzo delle librerie li puoi trovare scaricando il codice sorgente di mysql (http://dev.mysql.com/downloads/mysql/5.1.html#source)

    Ciao
    Bruno

    PS: devo ripetere anch'io la risposta 3 volte? 😉


  • User

    ciao, mysql 5 è già installato.
    Che vuol dire devo "devi linkare libmysqlclient.a/.so" ?!?!
    scusa ma nn son ancora molto pratico.

    grazie


  • User

    Ciao,
    diciamo che se non hai esperienza di C la vedo un po' dura questa strada.
    Che altri linguaggi di programmazione conosci?
    Puoi dare qualche dettaglio in piu' su cosa devi fare? Hai anche bisogno di presentare i risultati in un'interfaccia grafica?

    Ciao
    Bruno


  • User

    grazie Bruno...
    lnsomma qualcosina di C la conosco pure, niente di approffondito però, non lo uso da molto ma ripassando qualcosa dovrei esser abbastanza "agile", il linguaggio che devo usare è proprio il C.
    Mi serve un'applicazione su piattaforma linux che si interfacci a un db mysql che contiene il path di file video, commenti e parole chiave.
    L'interfaccia deve, dato una chiave, rendere la lista dei video che hanno quella chiave come attributo.
    per ora non mi serve interfaccia grafica ma anche solo da linea di comando...


  • User

    Ciao,

    ok, allora qui c'e' qualche esempio in C che si interfaccia a mySql insieme a informazioni su come compilare il programma. E' un po' scarno ma c'e' tutto quello che serve, almeno per il primo test.

    Ciao
    Bruno


  • User

    grazie Bruno mi sei stato utilssimo!


  • User

    sto procedendo con il lavoro... ho realizzato l'interfaccia che si connette al db, ora sto provando a inserire un nuovo record... i valori da inserire (stringhe e interi) vengono dati in input dall'utente... al momento di chiamare la funzione che esegue la query non so come passare i parametri dati in input...
    stavo pensando se fosse conveniente, essendo in C, di creare la query finale usando la funzione strcat, concatenando piccole stringhe, 2 a 2, fino a creare la query finale... mi sorge però un altro problema! come per esempio inserisco l'apice ' o le parentesi nella stringa?
    es vorrei creare una stringa char *query1 = ""INSERT INTO tag VALUES (null,' "; come prima parte della query che sarà poi seguita dal valore inserito dall'utente (come secondo campo nella query), poi tramite la strcat formo la query definitiva...
    qualche suggerimento se è il metodo migliore o se ne esistono altri...
    come inserisco caratteri speciali?!?!
    grazie a tutti...


  • User

    @fokia said:

    char *query1 = ""INSERT INTO tag VALUES (null,' "; come prima parte della query che sarà poi seguita dal valore inserito dall'utente (come secondo campo nella query), poi tramite la strcat formo la query definitiva...

    ... e il programma ti va in crash 😉
    Usa:
    char Query[1024];
    sprintf(Query, "INSERT INTO tag VALUES (null, "%s", %d)", DatoStringa, DatoNumerico);
    mysql_query(Query);

    I caratteri speciali (essenzialmente i doppi apici) vanno preceduti da , per avere un \ mettilo doppio \. Nelle printf se ti serve un % va scritto %%.

    Ciao
    Bruno


  • User

    Grazie per tutte le info che mi hai dato...
    Un ulteriore domanda...
    ti spiego un attimo in cosa consiste il mio lavoro... parte della mia tesi!
    realizzare un'interfaccia in html che permetta l'inserimento di file video in un database con l'assegnamento di n tag che lo caratterizzano.
    la ricerca di un video specificando dei tag. per ogni tag si prendono i video che hanno tag associato, si mettono assieme i risultati e si calcolano secondo uno specifco algoritmo.
    l'interfaccia la devo realizzare in html mentre il sistema di ranking è da realizzare come algoritmo scritto in C.
    Il mio problema è che non saprei come interfacciare l'html/php con il programmino in C. Al calcolatore di ranking saranno passati i risultati ottenuti tramite select dai database, il porgramma di ranking li memorizza come lista di record e li ordinerà; la lista ordinata sarà successivamente "spedita" per poter esser visualizzato nella pagina html.

    la mia unica soluzione è stata che al momento della ricerca i risultati della select siano memorizzati in una tabella che poi sara processata del programma C usando le lib API C mysql e ordinata... la visualizzazione sarà poi effettuata andando a leggere dalla pag html la tabella creata e ordinata.
    non penso sia la soluzione migliore anche perchè poi non saprei cmq come fare partire il programma C dopo che è stato premuto il tasto ricerca.

    se sai dell'esistenza di qualche utile dritta te ne sarei grato!

    saluti Fokia