2011-12-06 46 views
1

为什么在提交后不显示更改?页面必须在提交后刷新以查看更改。MySQL查询需要额外页面刷新才能显示UPDATE更改

$full_path = 'users/'.$_SESSION['user_id'].'/images/'.$name; 

if($query = mysql_query("UPDATE user_info 
         SET user_image = '$full_path' 
         WHERE user_id = '".$_SESSION['user_id']."' AND 
         username = '".$_GET['username']."' 
         ")) 
         { 

    if(move_uploaded_file($tmp_name, '/Applications/XAMPP/xamppfiles/htdocs/'.$full_path)) { 
     echo 'Got it!'; 
     } 

    } 

所以,如果我上传/点击提交,查询成功,但你不能看到的变化,直到一个额外的页面刷新。

+1

在加载页面的数据之前还是之后,您正在进行更新吗?您可能需要在页面顶部进行更新。 –

+0

我已将它包含在中。所以,它高于 – Graham

+0

解决。我有SELECT在UPDATE下显示图像。这就是它 – Graham

回答

3

确保您的更新查询在您为执行PHP页面选择数据之前。

2

你需要修正你的SQL,你只是留下自己打开SQL注入,直接在你的SQL查询中使用$_GET['username']

请注意利用参数化,同时请记住,当你开发这些东西时,顺序很重要。 TOP - > DOWN。

如果你有一个显示SQL调用之前UPDATE电话,那么你将不得不再次刷新看到从更新SQL调用的变化。

0

无论如何,您应该在POST请求后执行GET重定向。