Получавате ли съобщения за грешка?
Изглежда, че се опитвате да покажете резултатите от анкета (след като потребителят подаде собствения си глас), но имате проблеми с извличането на резултатите от анкетата. Тъй като резултатите от анкетата трябва да се съхраняват между потребители и сесии, трябва да ги съхранявате някъде. Предполагам, че това е, което $answer
е във вашата база данни?
Вашата UPDATE
заявката е малко счупена. Първо, трябва да се уверите, че работи правилно без променливите, аз обичам да използвам клиента на командния ред или графичен инструмент като phpMyAdmin. Може да изглежда по-скоро:
UPDATE polls SET result = result + 1 WHERE poll_id = 1;
Където poll
е вашата таблица и result
и poll_id
са колони във вашата таблица.
Изглежда, че се опитвате да зададете на потребителя няколко въпроса, така че ще имате различен poll_id
за всеки един и използвайте скрито поле на формуляр, за да получите стойността за poll_id
. Изглежда, че използвате $row
масив за това сега, но изглежда крехък и няма да се мащабира, докато създавате повече опции за анкета (е, технически той ще се увеличи, но никога няма да можете да премахнете въпрос или да се отървете от стари анкети.
Изглежда, че използвате PDO (тъй като "обектно ориентиран стил" mysqli execute
приема параметър void и никоя от PHP библиотеките, които говорят със SQL Server, изглежда няма този точен синтаксис), но тогава бих очаквал вашата prepare
изявление да има въпросителни знаци за променливите, а не директно заместване. Вижте ръководството за PHP
за подробности, ако не сте наясно с правилния синтаксис, но се надяваме, че вече сте преминали през това, преди да дойдете тук.
След като изчистите тези проблеми, ако имате допълнителни проблеми, би трябвало да е малко по-лесно да проследите какво се случва.