2011-06-02 64 views
0

我是一個新手更新數據庫(我跳過了一些步驟,以便我做一些事情更快)我有這個代碼,但數據庫不更新,我沒有得到任何錯誤。更新腳本不工作,沒有錯誤顯示

<?php 
require_once '../includes/configuration.php'; 

if (isset($_POST['enter'])) 
{ 
    $_POST['employee_id_passport'] = $employee_id_passport; 
    $_POST['first_name'] = $first_name; 
    $_POST['surname'] = $surname; 
    $_POST['mobile_number'] = $mobile_number; 
    $sql_query_update = "UPDATE employee_master 
          SET first_name = '$first_name', 
          surname = '$surname', 
          mobile_number = '$mobile_number' 
          WHERE employee_id_passport = '$employee_id_passport'"; 
      $result = mysql_query($sql_query_update, $connection); 
    echo "this"; 

} 
else 
    { 

      //display form with employee details 
      if (isset($_GET['idno'])) 
      { 
       $employee_id_passport = $_GET['idno']; 

       $sql_get_employee_details_query = "SELECT * FROM employee_master WHERE employee_id_passport = '$employee_id_passport'"; 
       $result = mysql_query($sql_get_employee_details_query, $connection); 
       $row = mysql_fetch_assoc($result); 
       echo $row['employee_id_passport'] . "<br /> " . $row['surname'] . "<br /> " . $row['first_name'] . "<br /> " . $row['mobile_number'] . "<br /> "; 



       echo "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\""; 
       echo "\"http:www.w3.org/TR/xhthml1/DTD/xhtml1-transitional.dtd\">"; 

       echo "<html xmls=\"http://www.w3.org/1999/xhtml\" xml:lang=\"en\" lang=\"en\">"; 

       echo "<head>"; 
       echo "<title> </title>"; 

       echo "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\" />"; 
       echo "</head>"; 

       echo "<body>"; 
       echo "<form name=\"view_employee\" method=\"POST\" action=\"" . $_SERVER['PHP_SELF'] . " \" />"; 
       echo  "Employee ID/Passport: <input type=\"text\" name=\"id_passport\" disabled=\"disabled\" value=\" " . $row['employee_id_passport'] . "\" /> <br />"; 
       echo  "First Name: <input type=\"text\" name=\"first_name\" value=\" ". $row['first_name'] . "\" /> <br />"; 
       echo  "Surname: <input type=\"text\" name=\"surname\" value=\" " . $row['surname'] . "\" /> <br />"; 
       echo  "Mobile Number: <input type=\"text\" name=\"mobile_number\" value=\" " . $row['mobile_number'] . "\"/> <br />"; 
       echo  "<input type=\"submit\" value=\"enter\" name=\"submit\" />"; 
       echo "</form>"; 
       echo "</body>"; 

       echo "<html>"; 
      } 
    } 

?> 

回答

1

它看起來像你已經將sql查詢字符串分配給一個變量,但實際上並沒有運行它。

if (isset($_POST['enter'])) 
{ 
    $_POST['employee_id_passport'] = $employee_id_passport; 
    $_POST['first_name'] = $first_name; 
    $_POST['surname'] = $surname; 
    $_POST['mobile_number'] = $mobile_number; 
    $sql_query_update = "UPDATE employee_master SET first_name = '$first_name', surname = '$surname', mobile_number = '$mobile_number' WHERE employee_id_passport = '$employee_id_passport'"; 
    mysql_query($sql_query_update); // This line will run the update query 
    echo "this"; 

} 

在'mysql_query($ sql_query_update)'中添加''行應該爲你執行查詢。

+0

我已經放行來做更新但它仍然不會更新 – Gatura 2011-06-02 11:19:52

4

您未執行更新查詢。在echo "this"

if (false === mysql_query($sql_query_update)) { 
    throw new Exception(mysql_error()); 
} 

您的腳本也容易受到SQL注入之前加入這個......你知道嗎,我累了噴出這一行的。閱讀SQL注入並使用PDO,準備好的語句和參數綁定。