如何将此数组结果值存储在数据库中?

时间:2018-08-08 07:11:58

标签: javascript jquery arrays

我得到这个数组结果,并将其存储在变量中。这样,我该如何将其存储到数据库中。

服务器端语言-PHP 数据库-phpmysql

我想将数组结果值发送到我的数据库以存储值。值来自 [“ 16”,......,“ 1”]

我使用的脚本

$(".test_btn").click(function(){
     alert('submit-btn');
     var test1 = $(this).closest('tr').find(".evaluator-input").map(function() {
                return $(this).val();
     });
     console.log(test1);
});

数组结果

a.fn.init(17) ["16", "1", "Test", "test@gmail.com", "Test", "11", "22", "33", "44", "55", "66", "77", "88", "99", "00", "1", "1", selector: "", prevObject: a.fn.init(17), context: button.test_btn]

2 个答案:

答案 0 :(得分:2)

首先,您需要将其发送到PHP,您可以使用AJAX,请参见示例here。之后,您可以使用serialize方法将其发送到数据库,然后您可以进一步了解该here

而且您已经可以像从js代码中的字符串一样发送它了:

var test1 = $(this).closest('tr').find(".evaluator-input").map(function() {
            return $(this).val();
 });
var jsonString = JSON.stringify(test1);
   $.ajax({
        type: "POST",
        url: "script.php",
        data: {data : jsonString}, 
        cache: false,

        success: function(){
            alert("OK");
        }
    });

现在在PHP中(脚本.php或文件名),您可以使用var_dump($_POST['data']);查看您的数据,然后将其发送到MySQL,您可以使用PDO完成此工作,例如

<?php
$dbhost = "localhost";
$dbname = "yourdbname";
$dbusername = "yourusername";
$dbpassword = "yourpassword";

$link = new PDO("mysql:host=$dbhost;dbname=$dbname", $dbusername, $dbpassword);

$statement = $link->prepare("INSERT INTO tablename(data)
    VALUES(:data)");
$statement->execute(array(
    "data" => $_POST['data'],
));

对于表和列,您当然必须更改INSERT query。在这种情况下,最好使用key - value列,然后再使用SELECT query作为键。同样,在查询之前检查$_POST['data'];是否已经发送并且不为空也是一个好主意。

答案 1 :(得分:0)

在这里,我假设您使用php作为服务器端脚本语言, 为了将任何数组存储在数据库列中,将其存储为json_encoded字符串,请使用json_encode函数将数组转换为字符串并将其存储到数据库列

json_encode(["16", "1", "Test", "test@gmail.com", "Test", "11", "22", "33", "44", "55", "66", "77", "88", "99", "00", "1", "1"])

无论使用哪种语言在数据库中存储数据,都可以将数组转换为json并作为字符串存储在数据库中,甚至可以作为JSON dataype存储在表中