javascript - 如何将此数组结果值存储在数据库中?
问题描述
我得到了这个数组结果,并将它存储在一个变量中。在这我怎么能把它存储到数据库中。
服务器端语言 - 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]
解决方案
首先,您需要将其发送到 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'];
已经发送并且它不为空之前检查它是一个非常好的主意。