Mysql
 sql >> Database >  >> RDS >> Mysql

Come aggiungo un voto al mio database in un modulo?

Ricevi messaggi di errore?

Sembra che tu stia cercando di mostrare i risultati di un sondaggio (dopo che l'utente ha inviato il proprio voto), ma hai problemi a recuperare i risultati del sondaggio. Poiché i risultati del sondaggio devono persistere tra utenti e sessioni, è necessario archiviarli da qualche parte. Immagino sia quello che $answer è nel tuo database?

Il tuo UPDATE la query è un po' interrotta. Innanzitutto, dovresti assicurarti che funzioni correttamente senza le variabili, mi piace utilizzare il client della riga di comando o uno strumento grafico come phpMyAdmin. Potrebbe assomigliare di più a:

UPDATE polls SET result = result + 1 WHERE poll_id = 1;

Dove poll è la tua tabella e il result e poll_id sono colonne nella tabella.

Sembra che tu stia cercando di porre all'utente più domande, quindi avresti un poll_id diverso per ciascuno e usa un campo modulo nascosto per ottenere il valore per il poll_id . Sembra che tu stia usando $row array per quello ora, ma sembra fragile e non si ridimensionerà man mano che crei più opzioni di sondaggio (beh, tecnicamente aumenterà, ma non sarai mai in grado di rimuovere una domanda o sbarazzarti dei vecchi sondaggi.

Sembra che tu stia usando PDO (poiché lo "stile orientato agli oggetti" mysqli execute accetta un parametro void e nessuna delle librerie PHP che parlano con SQL Server sembra avere quella sintassi esatta), ma poi mi aspetto che il tuo prepare dichiarazione di avere punti interrogativi per le variabili piuttosto che la sostituzione diretta. Consulta il manuale PHP per i dettagli se non sei chiaro sulla sintassi corretta, ma spero che tu l'abbia già affrontato prima di venire qui.

Una volta che hai risolto questi problemi, se hai altri problemi dovrebbe essere un po' più facile rintracciare quello che sta succedendo.