2016-11-03 4 views
-4

Я пытаюсь сделать функцию обновления для своего проекта.php mysql update query дает пустой результат

У меня есть таблица данных клиента, удалять, добавлять функции работают, но всякий раз, когда я использую функцию обновления впадение данных из строки в базе данных обнулить Я попробовал другие вещи, но не работаю хорошо. Это может быть небольшая ошибка, но я, кажется, не могу найти проблему, как я работал над другими проектами wholeday: <

детали Обновление PHP файл

<?php 
 
// include Database connection file 
 
include("db_connection.php"); 
 

 
// check request 
 
if(isset($_POST)) 
 
{ 
 
    // get values 
 
    $id = $_POST['id']; 
 
    $Surname = $_POST['update_Surname']; 
 
    $Name= $_POST['update_Name']; 
 
    $Address = $_POST['update_Address']; 
 
    $Telephone = $_POST['update_Telephone']; 
 
    $PurchaseDate = $_POST['update_PurchaseDate']; 
 
    $Model = $_POST['update_Model']; 
 
    $SerialNumber = $_POST['update_SerialNumber']; 
 
    $Notes = $_POST['update_Notes']; 
 
    
 

 
    // Update User details 
 
    $query = "UPDATE Clients SET Surname = '$Surname', Name = '$Name', Address = '$Address', Telephone = '$Telephone', PurchaseDate = '$PurchaseDate', Model = '$Model', SerialNumber = '$SerialNumber', Notes = '$Notes' WHERE id = '$id'"; 
 
    if (!$result = mysql_query($query)) { 
 
     exit(mysql_error()); 
 
    } 
 
}

функция обновления

function UpdateUserDetails() { 
 
    // get values 
 
    var update_Surname = $("#update_Surname").val(); 
 
    var update_Name = $("#update_Name").val(); 
 
    var update_Address = $("#update_Address").val(); 
 
    var update_Telephone = $("#update_Telephone").val(); 
 
    var update_PurchaseDate = $("#update_PurchaseDate").val(); 
 
    var update_Model = $("#update_Model").val(); 
 
    var update_SerialNumber = $("#update_SerialNumber").val(); 
 
    var update_Notes = $("#update_Notes").val(); 
 

 
    // get hidden field value 
 
    var id = $("#hidden_user_id").val(); 
 

 
    // Update the details by requesting to the server using ajax 
 
    $.post("ajax/updateUserDetails.php", { 
 
      id: id, 
 
      Surname: update_Surname, 
 
      Name: update_Name, 
 
      Address: update_Address, 
 
      Telephone: update_Telephone, 
 
      PurchaseDate: update_PurchaseDate, 
 
      Model: update_Model, 
 
      SerialNumber: update_SerialNumber, 
 
      Notes: update_Notes 
 
     }, 
 
     function (data, status) { 
 
      // hide modal popup 
 
      $("#update_user_modal").modal("hide"); 
 
      // reload Users by using readRecords(); 
 
      readRecords(); 
 
     } 
 
    ); 
 
}

Модальные формы

<div class="modal fade" id="update_user_modal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"> 
 
    <div class="modal-dialog" role="document"> 
 
     <div class="modal-content"> 
 
      <div class="modal-header"> 
 
       <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button> 
 
       <h4 class="modal-title" id="myModalLabel">Update</h4> 
 
      </div> 
 
      <div class="modal-body"> 
 

 
       <div class="form-group"> 
 
        <label for="update_Surname">Surname</label> 
 
        <input type="text" id="update_Surname" placeholder="Surname" class="form-control"/> 
 
       </div> 
 

 
       <div class="form-group"> 
 
        <label for="update_Name">Name</label> 
 
        <input type="text" id="update_Name" placeholder="Name" class="form-control"/> 
 
       </div> 
 

 
       <div class="form-group"> 
 
        <label for="update_Address">Address</label> 
 
        <input type="text" id="update_Address" placeholder="Address" class="form-control"/> 
 
       </div> 
 
       
 
       <div class="form-group"> 
 
        <label for="update_Telephone">Telephone</label> 
 
        <input type="text" id="update_Telephone" placeholder="Telephone" class="form-control"/> 
 
       </div> 
 
       
 
       <div class="form-group"> 
 
        <label for="update_PurchaseDate">Purchase Date</label> 
 
        <input type="date" id="update_PurchaseDate" placeholder="Purchase Date" class="form-control"/> 
 
       </div> 
 
       <div class="form-group"> 
 
        <label for="update_Model">Model</label> 
 
        <input type="text" id="update_Model" placeholder="Model" class="form-control"/> 
 
        
 
       </div> 
 
       <div class="form-group"> 
 
        <label for="update_SerialNumber">Serial Number</label> 
 
        <input type="text" id="update_SerialNumber" placeholder="Serial Number" class="form-control"/> 
 
       </div> 
 
       <div class="form-group"> 
 
        <label for="update_Notes">Notes</label> 
 
        <input type="text" id="update_Notes" placeholder="Notes" class="form-control"/> 
 
       </div> 
 

 
      </div> 
 
      <div class="modal-footer"> 
 
       <button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button> 
 
       <button type="button" class="btn btn-primary" onclick="UpdateUserDetails()" >Save Changes</button> 
 
       <input type="hidden" id="hidden_user_id"> 
 
      </div> 
 
     </div> 
 
    </div> 
 
</div>

+0

использование mysqli * или PDO. mysql устарел сейчас. –

+2

1. 'mysql_ *' функции устарели. 2. SQL-инъекция. Начните использовать исключения PDO и исключения. –

+1

И 'if (! Mysql_query ($ query)) { exit (mysql_error()); } ' –

ответ

1
$id = $_POST['id']; 
$Surname = $_POST['update_Surname']; 
$Name= $_POST['update_Name']; 
$Address = $_POST['update_Address']; 
$Telephone = $_POST['update_Telephone']; 
$PurchaseDate = $_POST['update_PurchaseDate']; 
$Model = $_POST['update_Model']; 
$SerialNumber = $_POST['update_SerialNumber']; 
$Notes = $_POST['update_Notes']; 

вы используете update_ как ваши почтовые переменные. Но фактические ключи разные, которые вы предоставили в функцию post jQuery. фактические ключи определяются в следующем объекте с левой стороны каждого присваивания.

 { 
     id: id, 

     Surname: update_Surname, 

     Name: update_Name, 

     Address: update_Address, 

     Telephone: update_Telephone, 

     PurchaseDate: update_PurchaseDate, 

     Model: update_Model, 

     SerialNumber: update_SerialNumber, 

     Notes: update_Notes 

    } 

использовать вместо этого вместо этого.

$id = $_POST['id']; 
$Surname = $_POST['Surname']; 
$Name= $_POST['Name']; 
$Address = $_POST['Address']; 
$Telephone = $_POST['Telephone']; 
$PurchaseDate = $_POST['PurchaseDate']; 
$Model = $_POST['Model']; 
$SerialNumber = $_POST['SerialNumber']; 
$Notes = $_POST['Notes'];