Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 16 su 16
  1. #11
    a proposito dei campi booleani mysql gestisce gli enum in modo molto simile ai numeri: in pratica quando viene inserita una colonna con tipo enum tutti i valori possibili della colonna vengono inseriti nella struttura della stessa e indicizzati (il primo valore, ad es, avrà 0, il secondo 1, il terzo 2 e cosi via) e poi all'interno dei dati li richiama usando quest'indice che lui stesso ha creato.

    Quindi a livello di funzionamento non cambia nulla, poi il programmatore può scegliere se usare l'uno o l'altro sistema, soprattutto se non ha un valore booleano ma un elenco possibile di campi (ad esempio Checked, Unchecked o Gray) dove si dovrebbe andare ad usare un tinyint con valori da 0 a 2 riducendone la comprensibilità ... se trovo un campo di nome checked col valore su 2, personalmente, non saprei come comportarmi nell'immediatezza ... poi magari dopo la scopro ... però purtroppo sono inutili perdite di tempo
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

  2. #12
    ragazzi, mi aveve illuminato meglio un mondo con le vostre spiegazioni, però non sono ancora riuscito a risolvere quel problema.

    se io stampo la stringa sql con cui vado in errore mi esce questo

    INSERT INTO `f_tb_card` ( `id_card` , `id_rapp` , `id_player` , `yellow_card` , `red_card` , `day_card` , `giornata` , `categoria` , `stagione` , `note` ) VALUES ( '', '1', '1', '1', '0', '0', '33', 'A', '2005/2006', '')

    si è vero l'errore di sintassi non dice quale "1" però avendo fatto la prova di sostituire gli zero con dei valori superiori a zero o dando alla variabili valori superiori a zero, ho visto che tutto funziona..e qui non capisco l'arcano!

  3. #13
    Ma se inserisci la stringa in chiaro non hai problemi. Giusto?
    Quindi e' qualcosa che esiste nella variabile

    Non c'entra nulla ma intanto ti conviene definire NOT NULL il campo yellow_card e poi usare STRIP(). sui dati che estrai dal file di testo.

    Dico una stupidaggine.... come e' formato il file di testo?
    Sbaglio oppure il valore che ti da errore e' l'ultimo della riga?

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  4. #14
    ok, prima di tutto grazie a tutti x l'aiuto che mi state dando per fare le verifiche, ora ricapitalo le risposte per vedere se a qualcuno arriva l'illuminazione.

    Ma se inserisci la stringa in chiaro non hai problemi. Giusto?
    -esatto, sia che i valori siano direttamente immensi nel file sql, sia che i valori siano passati da variabili, ma superiori a zero.

    Non c'entra nulla ma intanto ti conviene definire NOT NULL il campo yellow_card e poi usare STRIP(). sui dati che estrai dal file di testo.
    -Messo il NOT NULL, ma non è servito, come avevo e avevi previsto...quale strip intendi?

    Dico una stupidaggine.... come e' formato il file di testo?
    -Non dici stupidità, stiamo analizzando ogni cosa per capire quale sia il problema..il file è creato con il notepad e salvato con estensione .sql

    Sbaglio oppure il valore che ti da errore e' l'ultimo della riga?
    -No..guarda questa query
    -----------------
    'nome file->query_06.sql
    INSERT INTO `f_tb_card` ( `id_card` , `id_rapp` , `id_player` , `yellow_card` , `red_card` , `day_card` , `giornata` , `categoria` , `stagione` , `note` ) VALUES ( '', '3', '3', '1', '0', '0', '33', 'A', '2005/2006', '')
    ------------------

    06.You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '1' at line 1

    come puoi vedere dice vicino a '1' è l'unico che vedo è quello corrispondente a yellow_card

  5. #15
    SOLUZIONE:
    quel '1'..in realtà non è nella query, ma nella funzione, che se vede che $var non esiste

    codice:
    if(!$var[$replace]){$erroreint=1;}
    essendo la variabile settata a zero è come se non esistesse e quindi la funzione da errore, se io aggiungo alla verifica che non deve esistere e non deve essere = 0

    codice:
    if(!$var[$replace] & $var[$replace]!=0){$erroreint=1;}
    a questo punto funziona correttamente!era solo una questione che zero numerico lo vede come se fosse nullo il valore!



    se qualcuno vuole migliorare la funzione..io resto a disposizione.grazie ancora a tutti per l'aiuto nelle verifiche.

  6. #16
    STRIP e' un refuso. Errore di battitura doveva essere TRIM(). ma se il file e' un .sql

    Se il file e' .SQL dovrebbe essere un file composto da queries e al massimo dei commenti. Si passa direttamente per l'esecuzione.

    Volevo dire.. se fai la query nel modo seguente senza quella intestazione che c'entra nulla con la query stessa...
    codice:
    INSERT INTO `f_tb_card` 
    (`id_card`,`id_rapp`,`id_player`, `yellow_card` ,
    `red_card` ,`day_card` ,`giornata` ,`categoria` ,`stagione` ,`note` ) VALUES 
    ( '', '3', '3', '1', '0', '0', '33', 'A', '2005/2006', '')
    Questa query "DEVE" funzionare con zero, senza zero, con mia suocera e anche con un moderatore che soffia sul collo. Non c'e' ma ne santo che tenga.

    Mettici i valori che ti pare. E quindi il problema NON e' dentro mysql, ma da come presenti i dati alla query. Verifica quella funzione. (tra l'altro non l'ho capita).



    edit... Ok buttala quella funzione. l'ho riletta ora e credo che per estrarre dati da un file ci siano modi migliori.


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.