sql >> Databáze >  >> RDS >> Mysql

Jak přidám hlas do své databáze ve formuláři?

Zobrazují se vám chybové zprávy?

Zní to, jako byste se snažili ukázat výsledky ankety (poté, co uživatel odešle svůj vlastní hlas), ale máte potíže s načtením výsledků ankety. Vzhledem k tomu, že výsledky průzkumu musí přetrvávat mezi uživateli a relacemi, musíte je někam uložit. Myslím, že to je to, co $answer je ve vaší databázi?

Vaše UPDATE dotaz je trochu rozbitý. Nejprve byste se měli ujistit, že to funguje správně bez proměnných, rád používám klienta příkazového řádku nebo grafický nástroj, jako je phpMyAdmin. Mohlo by to vypadat spíše takto:

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

Kde poll je vaše tabulka a result a poll_id jsou sloupce ve vaší tabulce.

Zdá se, že se pokoušíte uživateli položit několik otázek, takže byste měli jiné poll_id pro každý z nich a pomocí skrytého pole formuláře získejte hodnotu pro poll_id . Zdá se, že používáte $row pole pro to nyní, ale zdá se křehké a nebude se škálovat, jak budete vytvářet další možnosti hlasování (dobře, technicky se bude škálovat, ale nikdy nebudete moci odstranit otázku nebo se zbavit starých hlasování.

Zdá se, že používáte PDO (protože "objektově orientovaný styl" mysqli execute bere parametr void a žádná z knihoven PHP, které komunikují se serverem SQL, zřejmě nemá tuto přesnou syntaxi), ale pak bych očekával, že se prepare aby měl pro proměnné spíše otazníky než přímou substituci. Viz příručku PHP pro podrobnosti, pokud si nejste jisti správnou syntaxí, ale doufejme, že jste si tím již prošli, než jste sem přišli.

Jakmile tyto problémy vyčistíte, pokud máte další problémy, mělo by být o něco snazší vysledovat, co se děje.




  1. Nakonfigurujte Lucene.Net s SQL Server

  2. Umístění MySQL my.ini

  3. SQLSTATE[42000]:Chyba syntaxe nebo porušení přístupu:1055 Výraz #3 seznamu SELECT není v klauzuli GROUP BY a obsahuje neagregovaný

  4. Jak RANK() funguje v SQL Server