簡體   English   中英

想要接收使用php通過ajax發送的json數據並將其存儲在db中

[英]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);
}   ?>

日志顯示成功,但數據未添加到db中。 您的幫助將不勝感激

列名應該用反引號`括起來(如果有的話),並且值要用單引號'括起來:

$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."')";

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM