首页 > 解决方案 > 如何将此数组结果值存储在数据库中?

问题描述

我得到了这个数组结果,并将它存储在一个变量中。在这我怎么能把它存储到数据库中。

服务器端语言 - 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]

标签: javascriptjqueryarrays

解决方案


首先,您需要将其发送到 PHP,您可以使用 AJAX,请参见此处的示例。之后,您可以使用方法将其发送到 DB ,您可以在此处serialize了解更多信息

您也可以像从 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(script.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'];已经发送并且它不为空之前检查它是一个非常好的主意。


推荐阅读