javascript - AJAX 调用和更新查询无法正常运行

标签 javascript php jquery mysql ajax

我正在尝试通过 AJAX 调用向我的 update_divisions.php 文件发送一个 UPDATE 查询以更新玩家的分区。我有一个选择框,我可以从中选择用户,然后是另一个选择框,我可以选择我要发送的部门。我没有包括这个,但我有一个 AJAX 调用,它从一个显示用户名和他们当前所在部门的 php 文件中获取信息。这很完美。所以,我现在只是想更新这个部门。我打开了 php 错误代码,但没有收到任何错误。在我点击提交发送以下内容后,我的网络选项卡出现错误:

未捕获的语法错误...对于我的 AJAX 调用中的这一行...

"username="+$user,

我做错了什么?

这是我的完整代码。

try {
//Prepare
if ($division_stmt= $con->prepare("SELECT * FROM team_rankings WHERE user_id=user_id")) {

    $division_stmt->execute();
    $division_stmt->bind_result($division_id, $division_user_id, $division_firstname, $division_username, $division_division, $division_wins, $division_losses); 

    //var_dump($division_stmt);

    if (!$division_stmt) {
        throw new Exception($con->error);
    }

    $division_stmt->store_result();
    echo "<span class='top_bottom_margin'>Select a user to modify their team rank</span>". "<br>";
    echo "<select id = 'member_division'>";
    while ($division_row = $division_stmt->fetch()) {
    echo "<option value='{$division_username}' data-username='{$division_username}'>{$division_username}</option>";
    }
    echo "</select>";


} else {
    echo "<p>There are not any team players yet.</p>";
}
}
catch (Exception $e)
{
    echo "Error: " . $e->getMessage();
}
?>

            <label>Current Division
                <input type="text" id="current_division">
            </label>
            <form name="update_group_form" action="" type="POST">   
                <select name="division_name">
                    <option value="1">East</option>
                    <option value="2">West</option>
                </select>
                <input type="submit" value="submit" name="division_update_button">
            </form> 

AJAX 调用

$(document).ready(function(){ 
        $("#update_group_form").on("change", function(){
            $user = this.value;
            $.ajax({ 
                url: "update_division.php", 
                type: "POST",
                data: {
                "username="+$user,
                division_name: $(this).find('select[name="group_id"]').val()
                },
                success: function(text){ 
                     alert(data);
            },
             error: function(jqXHR, textStatus,errorThrown )
            {
              // alert on an http error 
              alert( textStatus +  errorThrown );
            }
        });
        return false;
    });
}); 

PHP 文件 - update_division.php

$update_division = $_POST['division_name'];


$con = mysqli_connect("localhost","","","");
    /* check connection */
    if (mysqli_connect_errno()) {
        printf("Connect failed: %s\n", mysqli_connect_error());
        exit();
    }
    $stmt = $con->prepare("UPDATE division FROM team_rankings WHERE username = :user");
    if ( !$stmt || $con->error ) {
     // Check Errors for prepare
        die('User Group update prepare() failed: ' . htmlspecialchars($con->error));
    }
    if(!$stmt->bind_param('i', $update_division)) {
    // Check errors for binding parameters
        die('User Group update bind_param() failed: ' . htmlspecialchars($stmt->error));
    }
    if(!$stmt->execute()) {
        die('User Group update execute() failed: ' . htmlspecialchars($stmt->error));
    }

最佳答案

如我所见,您正在尝试合并 php 和 jquery。

试着改变这个:

 $user = this.value;

为此:

var user = this.value;

还有这个:

"username="+$user,

为此:

"username="+user,

告诉我它是否有效。

关于javascript - AJAX 调用和更新查询无法正常运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32256374/

相关文章:

jquery - 在 Opera 中损坏的下拉菜单

jQuery 下拉菜单

javascript - 如何从数组中的一个对象的属性返回该对象?

php - 如何在php中正确显示另一种语言的mysql表数据

php - 在 php 中识别时态

php - 如何创建 PHP 登录表单重定向回保留 $_POST 和 $_GET 的页面

javascript - toggle() 不起作用并追加更多字段

javascript - target_blank 适用于两个 javascript 函数,即使它应用于一个 javascript 函数

javascript - JQM 稍后预置的翻转开关不会对事件使用react

javascript - XUL:获取放置目标 ID