Visualizzazione risultati 1 fino 7 di 7

Discussione: query non viene eseguita

  1. #1
    Data registrazione
    15-03-2011
    Residenza
    Padova
    Messaggi
    194

    Predefinito query non viene eseguita

    Codice:
    INSERT INTO primanota (codnota, numero, giorno, mese, anno, descrizione, importo, tipo1, tipo2, codaccesso) VALUES (2,1,22,10,2012,n cvncv,545,a,c,1)
    
    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 'cvncv,545,a,c,1)' at line 11
    ciao a tutti sapete dirmi perchè la query qui sopra non esegue...?

    questa e la tabella del db:

    primanota

    Campo Tipo Null Predefinito Commenti
    codnota int(6) No
    numero int(6) No
    giorno varchar(2) No
    mese varchar(2) No
    anno varchar(4) No
    descrizione varchar(30) No
    importo decimal(6,2) No
    tipo1 text No
    tipo2 text No
    codaccesso int(6) No

    eseguendo singolarmente mi da problemi con descr, tipo1, tipo2
    Ultima modifica di dreadnaut : 25-03-2012 alle ore 13.07.09 Motivo: + leggibilità

  2. #2
    L'avatar di sevenjeak
    sevenjeak non è connesso AlterGuru
    Data registrazione
    25-10-2007
    Residenza
    Roma
    Messaggi
    1,767

    Predefinito

    Non ho capito come mai i campi giorno, mese e anno, lo hai messo di tipo VARCHAR ansi che integer, visto che nella query, a quei campi gli passi un valore intero, e questo per mysql è un'errore di sintassi.

    Ricordati in'oltre, questo anche per il campo descrizione, che è di tipo varchar, quindi accetta una stringa, che le stringhe sono delimitate da apici, cosa che nella query non hai messo, anche questo per mysql è un'errore di sintassi.
    Ultima modifica di sevenjeak : 25-03-2012 alle ore 12.04.12

    Sevenjeak
    Software developer and much more

  3. #3
    Data registrazione
    15-03-2011
    Residenza
    Padova
    Messaggi
    194

    Predefinito

    ok ho sistemato ora mi esegue solo nel server però era codice costante ora con le variabili mi da quest'errore:

    Codice:
    INSERT INTO primanota (codnota, numero, giorno, mese, anno, descrizione, importo, tipo1, tipo2, codaccesso) VALUES (3,1,22,10,2012,n cvncv,545,a,c,1)
    
    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 'cvncv,545,a,c,1)' at line 11
    scrivendo questo codice php:

    Codice PHP:
    $query = "INSERT INTO primanota (codnota, numero, giorno, mese, anno, descrizione, importo, tipo1, tipo2, codaccesso) VALUES ($codnota,$indice,$giorno,$mese,$anno,$descrizione,$importo,$tipo1,$tipo2,$codaccesso)";

    mysql_query($query);
    echo
    $query; mysql_errno();echo mysql_error();
    Ultima modifica di dreadnaut : 25-03-2012 alle ore 13.07.41

  4. #4
    L'avatar di sevenjeak
    sevenjeak non è connesso AlterGuru
    Data registrazione
    25-10-2007
    Residenza
    Roma
    Messaggi
    1,767

    Predefinito

    Il codice sql da te postato mi sembra come prima, stringhe non delimitate da apici e altro, perché non posti tutto il codice dello script php?

    Sevenjeak
    Software developer and much more

  5. #5
    Data registrazione
    15-03-2011
    Residenza
    Padova
    Messaggi
    194

    Predefinito

    Apposto dai erano gli apici che mancavano, e da troppo che non mi prendo in mano php:)

    Grazie mille Sevenjeak
    Ultima modifica di giacomofabbian : 25-03-2012 alle ore 12.18.18 Motivo: errore trovato

  6. #6
    L'avatar di sevenjeak
    sevenjeak non è connesso AlterGuru
    Data registrazione
    25-10-2007
    Residenza
    Roma
    Messaggi
    1,767

    Predefinito

    Il problema non è negli apici infatti.

    Ora mi viene il dubbio, ma la variabile $importo, la considera come stringa o come decimal, quello che vuole in effetti il database?

    Sapendo questo, se è qui l'errore, prova a inizializzare la variabile importo in questo modo:

    Codice PHP:
    $importo = (double) addslashes($_POST['importo'] [$a]);
    Ma non saprei dirti se cosi funziona.

    Sevenjeak
    Software developer and much more

  7. #7
    Data registrazione
    15-03-2011
    Residenza
    Padova
    Messaggi
    194

    Predefinito

    Codice PHP:
    $query = "INSERT INTO primanota (codnota, numero, giorno, mese, anno, descrizione, importo, tipo1, tipo2, codaccesso) VALUES ('$codnota','$indice','$giorno','$mese','$anno','$descrizione','$importo','$tipo1','$tipo2','$codaccesso')";
    in realtà cosi va tutto perfettamente.

    EDIT: anzi più o meno ho notato che il primo record carica la stringa giusta su tipo 1 e 2, poi nelle seguenti (preciso che sono campi creati dinamicamente tramite javascript) non riesce a controllare se sono stati selezionati come mai???
    Posto il codice:

    Codice PHP:
    if (isset($_POST['darecassa'] [$a]))
    $collocazione = "dc";

    else if(isset(
    $_POST ['averecassa'] [$a]))
    $collocazione = "ac";
    else if (isset(
    $_POST ['darebanca'] ['$a']))
    $collocazione = "db";
    else if (isset(
    $_POST ['averebanca'] ['$a']))
    $collocazione = "ab";
    else
    echo
    "ERRORE" ;
    il primo record cicla giusto i seguenti naturalmente danno errore perchè non da per selezionato nessun checkbox.
    Ultima modifica di giacomofabbian : 25-03-2012 alle ore 15.33.02

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •