使用ajax发布值,php将其放入数据库

使用ajax发布值,php将其放入数据库,php,jquery,mysql,ajax,Php,Jquery,Mysql,Ajax,我想从表单中接受用户数据,使用AJAX将值发布到PHP脚本中,PHP脚本将把它们插入数据库 JQuery: $(".add").click(function(){ var order = { Name: $name.val(), Drink: $drink.val(), } $.ajax({ type: 'POST', url: '/ajax/api/orders.php', data: or

我想从表单中接受用户数据,使用AJAX将值发布到PHP脚本中,PHP脚本将把它们插入数据库

JQuery:

$(".add").click(function(){
    var order = {
        Name: $name.val(),
        Drink: $drink.val(),
    }
    $.ajax({
        type: 'POST',
        url: '/ajax/api/orders.php',
        data: order,
        success: function(newOrder){
            $orders.append('<li>Name: ' + newOrder.Name +', Drink: '+ newOrder.Drink +'</li>')
    }
    })
});

有人能帮我吗?

我想你应该在收到所有订单之前插入

$name = $_POST["Name"];
$drink = $_POST["Drink"];

$sql2 = "INSERT INTO orders (Id, Name, Drink) VALUES (NULL, '$name', '$drink')";
mysqli_query($connection, $sql) or 
             die("Error in Inserting" . mysqli_error($connection))

$id = mysqli_insert_id ($connection);
$sql = "select * from orders where Id = $id";
$result = mysqli_query($connection, $sql) or 
             die("Error in Selecting " . mysqli_error($connection));

//create an array
$emparray = array();
while($row =mysqli_fetch_assoc($result))
{
    $emparray[] = $row;
}
echo json_encode($emparray);
javascript在以下方面是正确的:

$(".add").click(function(){
    var order = {
        Name: $name.val(),
        Drink: $drink.val(),
    }
    $.ajax({
        type: 'POST',
        url: '/ajax/api/orders.php',
        data: order,
        success: function(newOrder) {
            $.each(newOrder, function(order) {
                //$order is a ul that have id = orders
                $orders.append('<li>Name: ' + order.Name +', Drink: '+ order.Drink +'</li>');
            });
        }
    });
});

您是否收到任何错误?除了其他问题外,您的代码对SQL注入非常开放。您没有在此处查询/连接到db$sql2=INSERT INTO orders Id、名称、饮料值NULL、$Name、$DREAND;所以你的插入永远不会发生。php将其放入我的数据库中不会的@KylianWesternow谁会在这件事上指名道姓?^谁知道你的HTML是否正确。你的代码有什么问题?我在控制台newOrder中得到一个错误。每个都不是一个错误function@KylianWester请让我看看console.lognewOrder的结果;我得到的新订单没有定义,我正在学习所有这一切,所以我认为这是一件愚蠢的事情xUncaught类型错误:不能使用'in'运算符在[{Id:1,Name:kylian,Drink:Coffee},{Id:2,Name:Chris,Drink:Tea},{Id:3,Name:Jelle,Drink:Coffee},{Id:4,Name:rud,Drink:IceTea}]中搜索'length'我得到这个控制台错误捕获类型错误:data.forEach不是一个函数
$(".add").click(function(){
    var order = {
        Name: $name.val(),
        Drink: $drink.val(),
    }
    $.ajax({
        type: 'POST',
        url: '/ajax/api/orders.php',
        data: order,
        success: function(newOrder) {
            $.each(newOrder, function(order) {
                //$order is a ul that have id = orders
                $orders.append('<li>Name: ' + order.Name +', Drink: '+ order.Drink +'</li>');
            });
        }
    });
});
        success: function(data) {
            data.forEach(function(order) {
                //$orders is a ul that have id = orders
                $orders.append('<li>Name: ' + order.Name +', Drink: '+ order.Drink +'</li>');
            });
        }
success: function(data) {
    var obj = JSON.parse(data);
    var length = obj.length;
    for (var i = 0; i < length; i++) {
        $orders.append('<li>Name: ' + obj[i].Name +', Drink: '+ obj[i].Drink +'</li>');
    }
}
$name = $_POST["Name"];
$drink = $_POST["Drink"];

$sql2 = "INSERT INTO orders (Id, Name, Drink) VALUES (NULL, '$name', '$drink')";
mysqli_query($connection, $sql2) or 
             die("Error in Inserting" . mysqli_error($connection))

$id = mysqli_insert_id($connection);
$sql = "select * from orders where Id = $id";
$result = mysqli_query($connection, $sql) or 
             die("Error in Selecting " . mysqli_error($connection));

//create an array
$emparray = array();
while($row =mysqli_fetch_assoc($result))
{
    $emparray[] = $row;
}
echo json_encode($emparray);