-
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
-
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.
-
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();
-
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?
-
Apposto dai erano gli apici che mancavano, e da troppo che non mi prendo in mano php:)
Grazie mille Sevenjeak
-
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.
-
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.