发送json数组到mysql数据库

pjngdqdw  于 2021-06-20  发布在  Mysql
关注(0)|答案(2)|浏览(270)

我需要发送数组到我的mysql数据库。
我已经创建了一个json数组,不知道如何将它发布到php以传输到db。

$( function () {
        $( '#orderForm' ).on( 'submit', function ( event ) {
            event.preventDefault();
            var myData = [],
                keys = ['item', 'qty', 'price'],
                url = this.action;

            $( '#orderTable' ).find( 'tr:gt(0)' ).each( function ( i, row ){
                    var oRow = {};

                    $( row ).find( 'td' ).each( function ( j, cell ) {
                            oRow[keys[j]] = $( cell ).text();
                    } );

                    myData.push( oRow );
            } );

            console.log( myData );
            console.log( JSON.stringify( myData ) );
        } );
    } );

我要把它寄出去 item->item , qty->qty , price->price 到db。
我试过:

$.ajax( {
    url: 'tc_menu',
    type: 'POST',
    data: JSON.stringify( myData ),
    success: function ( data ) {
        console.log( "success:", data );
    },
    failure: function ( errMsg ) {
        console.error( "error:", errMsg );
    }
} );

数据存储整个页面,但不存储(stringized mydata)。我仍然无法在php代码中通过$\u post和json\u解码数据存储整个页面,但不能 stringified myData 我在php代码中无法通过 $_POST 以及 json_decode PHP代码

`if(isset($_POST['submitted_m'])){
$myData = serialize($_POST['data']);
$sqli = "INSERT INTO tc_cafe_orders SET item='".$myData."' ";
if (mysqli_query($db, $sqli)) {
$msg = "New Order added!";
echo "<script>
alert(\"$msg\");
window.location.replace('tc_menu.php');
</script>";}
else {echo "Error:".$sql."<br>".mysqli_error($db);}}`
bq3bfh9z

bq3bfh9z1#

删除嵌套的click事件和闭包。例如

$( '#orderForm' ).on( 'submit', function ( event ) {
    $( '#orderForm' ).on( 'submit', function ( event ) {

    } );
} );

而不是再试一次。
以及php中的mysql insert语句

$sqli = "INSERT INTO tc_cafe_orders SET item='".$myData."' ";

不好。在这里了解有关mysql insert语句的更多信息https://www.w3schools.com/php/php_mysql_insert.asp

d5vmydt9

d5vmydt92#

给js试试这个

$(function () {
        $('#orderForm').on( 'submit', function ( event ) {
            event.preventDefault();
            var myData = [],
                keys = ['item', 'qty', 'price'],
                url = this.action;

            $( '#orderTable' ).find( 'tr:gt(0)' ).each( function ( i, row ){
                    var oRow = {};
                    $( row ).find( 'td' ).each( function ( j, cell ) {
                            oRow[keys[j]] = $( cell ).text();
                    } );
                    myData.push( oRow );
            } );

            console.log( myData );
            console.log( JSON.stringify( myData ) );
            data_to_server = JSON.stringify(myData);
        });
        $.post("*your_php_file*", {
            data: data_to_server;
        }).done(function (data_returned) {
            // any your code
        });         
});

似乎php代码不匹配-尝试 serialize() 而不是 json_decode()

相关问题