我不断收到此错误,并且我试图在实际数组周围加上引号,没有任何工作。行情不在阵列的正确位置
解析错误:语法错误,意想不到的T_ENCAPSED_AND_WHITESPACE,期待T_STRING或T_VARIABLE或T_NUM_STRING上线8
$id = $_GET['id'];
$record = "SELECT `Name`, `Type`, `Size`, `Content` FROM election_candidates WHERE `ID` = '$id'";
$result = $db->query($record);
foreach ($result as $results) {
header("Content-length: $results['Size']"); <---Line 8
header("Content-type: $results['Type']");
header("Content-Disposition: attachment; filename=$results['Name']");
// echo $results['Size'];
echo $results['Content'];
}
exit();
+1为防sqli – knittl 2012-04-04 13:24:53
哇!感谢您的帮助:)我并不知道将整数引用到整数将会使我容易受到sqli的攻击。另外,为什么我们再次使用大括号? – wowzuzz 2012-04-04 13:31:00
其实引号并不是真正的问题(MySQL正确处理它们)。问题在于任何人都可以将SQL代码写入GET变量'id'中,然后在SQL查询中执行该代码!我们使用曲线语法,因为您想访问关联数组。 – ComFreek 2012-04-04 13:33:16