希望使用 PHP 接收通过 AJAX 发送的 JSON 数据并将其存储在数据库中


want to receive json data sent via ajax using php and store it in db

以下是我的 js

            var obj = {};
            obj["name"] = uname;
            obj["repo"] = repo;
            obj["length"] = linelength;
            var json = JSON.stringify(obj);
            $.ajax({
                method: "POST",
                url: "example.php",
                data: {'data' : json},
                success: function(response){
                    console.log("success");
                }
            });

以下是我的PHP

<?php
include("connection.php");
if(isset($_POST["data"])){
    $myData = $_POST["data"];
    $ddata = json_decode($myData);
    $name = $ddata->name;
    $repo = $ddata->repo;
    $length = $ddata->length;
    $query = "INSERT INTO user('name', 'repo', 'length') VALUES($name, $repo, $length)";
    $db->exec($query);
}   ?>

日志显示成功,但数据未添加到数据库中。您的帮助将不胜感激

列名应该用反引号括起来(如果有的话),`用单引号括起来的值'

$query = "INSERT INTO user (`name`, `repo`, `length`)
          VALUES ('$name', '$repo', '$length')";

但是,我想说您的代码容易受到注入,您应该使用占位符 - 切换到使用预准备语句!

删除列名称上的'并将输入放入 2 个'

$query = "INSERT INTO user(name, repo, length) VALUES('$name', '$repo', '$length')";
$query = "INSERT INTO user(name,repo,length) VALUES('".$name."','".$repo."','".$length."')";