2017-02-17 87 views
0

我正在尝试使用表单更新数据库。这里是php代码Mysql更新需要更多刷新来显示值

require 'connect.php'; 
include_once('header.php'); 
if (isset($_GET['id']) && is_numeric($_GET['id'])){ 
$id = $_GET['id']; 
$result = mysql_query("SELECT * FROM table WHERE id=$id"); 
$get = mysql_fetch_assoc($result); 

if(isset($_REQUEST['value1'])){ 
    $value1 = $_REQUEST['value1']; 
    $value2 = $_REQUEST['value2']; 
    $value3 = $_REQUEST['value3']; 


    $update = mysql_query("UPDATE `table` SET `value1` = $value1, `value2` = $value2 WHERE `id` = $id"); 

    if($update){ 
      $msg = "<div class=\"alert alert-success\">Server UPDATED Successfully.</div>"; 
     }else{ 
      $msg ="<div class=\"alert alert-danger\">Failed to Update server!</div>"; 
     } 

它正在完美工作并更新数据库。但一旦显示“服务器更新成功”。下面,它仍然在窗体中显示旧值。

成功更新后,如何使页面或值重新加载? }

+0

你需要使用MySQL来至少mysqli的移动或pdo与准备好的语句 – JustBaron

+0

@justbaron Ik,我目前正处于开发阶段,一旦脚本准备就绪,我将进行所有安全更改!谢谢你:) – Sohail

+0

**警告**:如果你只是学习PHP,请不要使用['mysql_query'](http://php.net/manual/en/function.mysql-query.php )接口。这是非常可怕和危险的,它在PHP 7中被删除了。[PDO的替代品并不难学](http://net.tutsplus.com/tutorials/php/why-you-should-be-using-phps -pdo-for-database-access /)以及[PHP The Right Way](http://www.phptherightway.com/)等指南介绍了最佳实践。你的用户数据是**不是** [正确转义](http://bobby-tables.com/php.html),并有[SQL注入漏洞](http://bobby-tables.com/),并且可以被利用。 – tadman

回答

-2

检查下面的代码操作

require 'connect.php'; 
    include_once('header.php'); 
    if (isset($_GET['id']) && is_numeric($_GET['id'])){ 
    $id = $_GET['id']; 
    $result = mysql_query("SELECT * FROM table WHERE id=$id"); 
    $get = mysql_fetch_assoc($result); 

    if(isset($_REQUEST['value1'])){ 
     $value1 = $_REQUEST['value1']; 
     $value2 = $_REQUEST['value2']; 
     $value3 = $_REQUEST['value3']; 


     $update = mysql_query("UPDATE `table` SET `value1` = $value1, `value2` = $value2 WHERE `id` = $id"); 

     if($update){ 

      $result = mysql_query("SELECT * FROM table WHERE id=$id"); 
      $get = mysql_fetch_assoc($result); 
       $msg = "<div class=\"alert alert-success\">Server UPDATED Successfully.</div>"; 
      }else{ 
       $msg ="<div class=\"alert alert-danger\">Failed to Update server!</div>"; 
      } 
+0

工程像魅力!感谢:D – Sohail

1

顺序应该是

  • 更新
  • 选择
  • 显示

,所以你先放更新部分(塔基纳克护理,防止SQL注入):

require 'connect.php'; 
include_once('header.php'); 

$id = (integer) @$_GET['id']; 
if (! empty($id)) { 

    if (isset($_REQUEST['value1'])) { 
    $value1 = mysql_real_escape_string($_REQUEST['value1']); 
    $value2 = mysql_real_escape_string($_REQUEST['value2']); 
    $value3 = mysql_real_escape_string($_REQUEST['value3']); 

    $update = mysql_query("UPDATE `table` SET `value1` = '$value1', `value2` = '$value2' WHERE `id` = $id"); 

    if ($update) { 
     $msg = "<div class=\"alert alert-success\">Server UPDATED Successfully.</div>"; 
    } else { 
     $msg ="<div class=\"alert alert-danger\">Failed to Update server!</div>"; 
    } 
    } 

现在你可以做你的选择:

$result = mysql_query("SELECT * FROM table WHERE id=$id"); 
    $get = mysql_fetch_assoc($result); 
} 
现在

你能证明你的页面: