为什么这段代码会让我的页面变成空白


Why does this piece of code make my page blank?

在添加这段代码之前,我的页面一直运行良好,但我不知道它出了什么问题。

<?
if (isset($_POST['credclick'])){ 
$amount=$_POST['credits']
mysql_query("UPDATE users SET points = points+".$amount." WHERE id = '".$username."'");
echo"<p>Credits Added</p>";
}
?>

$username是在页面顶部的会话中定义的。

$username=$_SESSION['username'];

可能出现语法错误:在$amount=$_POST['credits']的末尾添加一个分号以表示语句的末尾。

$amount=$_POST['credits']更改为$amount=$_POST['credits'];

正如其他人所指出的,您很容易受到恶意sql注入的影响,因此要解决这个问题,a)停止使用mysql_并使用PDOmysqli_,或者至少使用以下内容来净化您的语句:

$amount = htmlentities($_POST['credits'], ENT_QUOTES);$amount = mysql_real_escape_string($_POST['credits']);

不过,最佳做法是切换数据库连接类型。