2010-10-23 44 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