2017-02-17 39 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); 
} 
現在

你能證明你的頁面: