2017-09-26 108 views
0

我是一個血腥的初學者,我很抱歉如果我的錯誤太愚蠢了。帶Ajax調用的更新表函數(POST 500錯誤)

到目前爲止,我無法更新我的'taskone'條目。點擊按鈕後,當前用戶的行應該是'1'。

我的功能

function loadDoc(user) { 
console.log('aaa'); 
      $.ajax({ 

       url: "upper.php", 
       type: "POST", 
       data: { 
        'wp_users': user, 'taskeins': '1' 
       }, 
       success: function(data){ 
        alert(data); 
       } 
      }); 
     } 

我upper.php

$con=mysqli_connect($servername, $username, $password, $dbname); 
// Check connection 
if (mysqli_connect_errno()) 
{ 
    echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
} 
$current_user = get_current_user_id(); 
$Username = $_POST['wp_users']; 
$taskeins = $_POST['taskeins']; 

$sql = "UPDATE 'wp_users' SET 'taskeins' = 1 WHERE 'id' = '$current_user'"; 

if (!mysqli_query($con,$sql)) 
{ 
    die('Error: ' . mysqli_error($con)); 
} 
mysqli_close($con); 

基本上如果用戶有選擇任務的功能應檢測。如果是這樣,'taskeins'應該得到一個指標,以便它將呈現在用戶的配置文件中。

調用該函數而是:

(函數(事件){loadDoc() }) 是我的控制檯輸出。 而我得到一個POST 500錯誤...

我說 - 我是一個總的初學者。但也許有人可以幫助我。

+2

打開錯誤日誌和找到500錯誤的原因。沒有人會爲你做。 –

+1

500是服務器端錯誤。因此,調試PHP和/或檢查您的服務器日誌以查找原因。 – ADyson

+1

如果尚未查看問題可能,請打開PHP display_errors。然後使用瀏覽器的開發人員工具 - >網絡選項卡並檢查錯誤輸出的請求響應(如果知道如何使用POST並在那裏獲取錯誤輸出,則直接點擊PHP文件)。 –

回答

-1

我用這個,回答。 enter code here function loadDoc(user){console.log('aaa'); $阿賈克斯({

  url: "upper.php", 
      method: "POST", 
      data: { 
       'wp_users': user, 'taskeins': '1' 
      }, 
      success: function(data){ 
       alert(data); 
      } 
     }); 
    } 
+1

這是一個答案?它解決了什麼問題?這和OP的代碼有什麼區別?這是如何解決服務器端的500錯誤? –

0

由於@MagnusEriksson指出,在MySQL中,關於列名而已,你使用反引號,而不是引號,否則難逃SQL保留關鍵字,你可以離開他們。

查詢改成這樣:

$sql = "UPDATE `wp_users` SET `taskeins` = 1 WHERE `id` = '$current_user'"; 

而且你需要開始使用預處理語句,你正在使用的API(mysqli的),支持它

+0

謝謝。瞭解。更新了我的答案 – Akintunde007