2017-09-26 107 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