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

Whts出錯,這句法PHP syntax..giving錯誤

+0

爲什麼downvote?似乎對我來說是一個合法的問題... – Chetan 2010-10-23 20:16:40

+2

一個基本的教程和/或語法突出顯示讓你自己回答微不足道。另外,它的要求很低。 (但是,這不是我的downvote) – delnan 2010-10-23 20:18:22

回答

2

兩個問題:

  • 變量插值不 在單引號發生。
  • 字符串中的未轉義報價 提前終止字符串。

你可以這樣做:

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

如果你想要Bobby Tables來擰你的數據庫,你可以這樣做。 – delnan 2010-10-23 20:15:50

+1

@delnan:你怎麼知道變量沒有被消毒? – codaddict 2010-10-23 20:20:43

+1

@delnen:我不明白?如果你考慮'$ perc'(也許它是''ctype_digit''檢查?)和'$ _SESSION ['id']'(你自己設置爲一個int)是有效的,那麼Bobby Tables就沒有可能攻擊了。但顯然逃脫他們也不會傷害你;) – NikiC 2010-10-23 20:21:41

相關問題