在添加这段代码之前,我的页面一直运行良好,但我不知道它出了什么问题。
<?
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_
并使用PDO
或mysqli_
,或者至少使用以下内容来净化您的语句:
$amount = htmlentities($_POST['credits'], ENT_QUOTES);
或$amount = mysql_real_escape_string($_POST['credits']);
不过,最佳做法是切换数据库连接类型。