以下是我的 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."')";