Visualizzazione risultati 1 fino 9 di 9

Discussione: MySQL: Query per form inserimento dati in tabella

  1. #1
    betmanager non è connesso Utente AlterBlog
    Data registrazione
    09-06-2017
    Messaggi
    8

    Question MySQL: Query per form inserimento dati in tabella

    Ciao,

    sul mio sito web ho creato un form collegato ad un file php che permette tramite la compilazione del form di caricare i vari campi in una tabella di MySQL, non riesco però a capire quale sia l'errore che presumo sia proprio nella query di inserimento dati:

    Codice:
    INSERT INTO tracker
    			(user_id, datay, book, tipologia, modalità, sport, descrizione, importo, quota, tassa, risultato, totale)
    			VALUES
    			('$user_id',
    			'$datay',
    			'$book',
    			'$tipologia',
    			'$modalità',
    			'$sport',
    			'$descrizione',
    			'$importo',
    			'$quota',
    			'$tassa',
    			'$risultato',
    			'$totale')
    La tabella in questione ha un campo aggiuntivo oltre a quelli presenti nella query ovvero il campo ID che però avendolo inserito come Auto Increment avevo prima provato ad inserirlo in query con valore null e poi ho provato ad ometterlo come nel codice presente, in ogni caso non funziona anche testandolo in SQL su PhpMyAdmin...

    Errore in PhpMyAdmin per la query riportata:
    #1366 - Incorrect integer value: '$user_id' for column 'user_id' at row 1

    Invece il file php completo collegato al form, una volta compilato il form mi dà come messaggio di errore che non è stato in grado di inviare i campi.

    Sapete consigliarmi qualcosa?

  2. #2
    mzanella non è connesso AlterGuru
    Data registrazione
    29-12-2015
    Messaggi
    1,954

    Predefinito

    #1366 - Incorrect integer value: '$user_id' for column 'user_id' at row 1
    Stai cercando di usare variabili come $user_id in PhpMyAdmin? Non è possibile.
    Ad ogni modo, non racchiudere i valori (che dovrebbero essere) interi o numerici tra apici, come invece si fa per le stringhe.

    Invece il file php completo collegato al form, una volta compilato il form mi dà come messaggio di errore che non è stato in grado di inviare i campi.
    Riporta il messaggio d'errore.

  3. #3
    darbula non è connesso AlterGuru 2500
    Data registrazione
    24-04-2011
    Messaggi
    2,894

    Predefinito

    Il campo modalità della tabella tracker è LATIN1 o utf-8?..Non vorrei che fosse un problema di accenti.
    Ultima modifica di darbula : 02-07-2017 alle ore 23.09.44

  4. #4
    betmanager non è connesso Utente AlterBlog
    Data registrazione
    09-06-2017
    Messaggi
    8

    Predefinito

    Grazie per le risposte, alla fine ho risolto e l'inserimento va a buon fine.

    Ad ogni modo, non racchiudere i valori (che dovrebbero essere) interi o numerici tra apici, come invece si fa per le stringhe.
    Quali sarebbero i campi che non dovrei racchiudere tra apici? Non ho ben capito..

    Mi rimanngono solo due problemi, ovvero l'ultimo campo della Tabella "Totale" viene calcolato dallo script php correttamente e inserisce il dato nell'apposito campo della tabella MySql.

    Io in precedenza avevo impostato il tipo di dato del campo come DOUBLE con lunghezza valori 6,2. Così facendo però la query mi restituisce il messaggio d'errore:

    Codice:
    Errore nella query:
    #1265 - Data truncated for column 'totale' at row 2
    L'unico modo che mi accetta è VARCHAR che io ho messo con lunghezza 20 giusto per farlo funzionare. Ma si tratta di campi che verranno compilati con risultati che rappresentano dei valori di denaro esempio: 23,50 o 120,45 etc... Quindi pensavo che Double 6,2 fosse corretto...


    Inoltre il campo che ho inserito come $user_id nella query in precedenza, dovrebbe prelevare l'id Wordpress dell'utente collegato, ma così non fà.. Inserisce nel campo user_id sempre il valore 0.

    Codice:
    Codice:
    require_once('wp-includes/user.php');
    $user_id = get_current_user_id();
    Ultima modifica di betmanager : 03-07-2017 alle ore 02.23.35

  5. #5
    darbula non è connesso AlterGuru 2500
    Data registrazione
    24-04-2011
    Messaggi
    2,894

    Predefinito

    Devi riferiti ai tipi di dato per MySQL un intero non va racchiuso tra apici (sia PHP che in MySQL) dal momento che utilizzi phpmyadmin è normale che segnali l'errore, i double in MySQL e PHP sono con il punto 6.2 non la virgola e non va racchiuso tra apici.. Stai inoltre attento che non esiste una perfetta ecquivalenza tra operazioni con i double (cioè approssimazioni) sul manuale vedi un esempio di approssimazione Riguardo wordpress non saprei
    Ultima modifica di darbula : 03-07-2017 alle ore 02.47.30

  6. #6
    acerbisandrea non è connesso Neofita
    Data registrazione
    18-10-2020
    Messaggi
    2

    Predefinito

    Alla fine hai risolto? Ho il tuo stesso problema e sono in alto mare

  7. #7
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,145

    Predefinito

    Quale problema hai in particolare? Puoi descrivere meglio? Puoi mostrare le prove che hai fatto?

    Ciao!

  8. #8
    acerbisandrea non è connesso Neofita
    Data registrazione
    18-10-2020
    Messaggi
    2

    Predefinito

    Ciao e grazie per la disponibilità.
    Premetto che ho iniziato da poco ad utilizzare mysql e non sono molto esperto.
    Ho creato due file php, uno con la form per l'inserimento di una serie di informazioni e un'altro che le gestisce, tra cui l'invio di tali informazioni al mio database nella tabella "prodotti" contenente una serie di campi. inviando i dati visualizzo l'errore "Data truncated for column 'x' at row 1" così per tutti i campi di tipo intero, float e decimal. Se tali campi diventano var char l'errore non sussiste più ma tuttavia essi devono essere necessariamente di tipo numerico. Come valore di "default" ho messo a tutti 0 (0.0 per i float) e lunghezza variabile a seconda dei campi ma mai che sfori i valori possibili per quel tipo ( per esempio i float max. a 65,0 che è di fatto il valore massimo che mi viene permesso di attribuirli ). Dovrei magari mettere una lunghezza inferiore, nella colonna "predefinito" mettere nessuno, o altro ancora?

  9. #9
    GraphOGLRisorse non è connesso AlterGuru 2500
    Data registrazione
    14-02-2015
    Messaggi
    3,997

    Predefinito

    Salve,
    può mostrare il codice e le tabelle del database relative agli errori?

    Cordiali saluti.

Regole di scrittura

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