我得到这个数组结果,并将其存储在变量中。这样,我该如何将其存储到数据库中。
服务器端语言-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]
答案 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存储在表中