2010-10-23 4 views
-2
$sql='UPDATE Reg_Stud SET Result=$perc WHERE RegID="$_SESSION['id']"'; 

Whts неправильно с этим синтаксисомPHP ошибка syntax..giving

+0

Почему downvote? Кажется, это законный вопрос для меня ... – Chetan

+2

Тот факт, что основной учебник и/или подсветка синтаксиса делает тривиальным отвечать самому себе. Плюс, его плохо спрашивают. (Но это не мой downvote) – delnan

ответ

2

Две проблемы:

  • Variable интерполяция не происходит в одинарные кавычки.
  • Неэкранированная цитата в строке преждевременно завершает строку.

Вы можете сделать:

$sql='UPDATE Reg_Stud SET Result='.$perc.' WHERE RegID='.$_SESSION['id']; 
+1

Вы можете сделать это, если хотите, чтобы Bobby Tables применил вашу базу данных. – delnan

+1

@ delnan: Откуда вы знаете, что переменные не дезинфицированы? – codaddict

+1

@ delnen: Я не понимаю? Если вы считаете '$ perc' (возможно, это был' ctype_digit' checked?) И '$ _SESSION ['id']' (вы установили его в int), чтобы быть действительным, тогда нет никаких шансов, что Bobby Tables могут атаковать. Но, очевидно, побег их не повредит вам;) – NikiC