我有一些数据想要存储在数据库中以进行同步。这是我的 jQuery 代码:
$(document).ready(function() {
var local_array = [];
for ( var i = 0, len = localStorage.length; i < len; ++i ) {
local_array.push(localStorage.key(i));
local_array.push(localStorage.getItem(localStorage.key(i)));
console.log(local_array);
}
$.ajax({
type: "POST",
url: "uploadtodatabase.php",
data: {data: local_array}
});
});
这是我的 PHP 代码:
<?php session_start();
$connection = new mysqli('host', 'name', 'password', 'database');
$username = $_SESSION['user'];
$username = $connection->real_escape_string($username);
$query = $connection->query("SELECT * from members WHERE username ='$username'");
$matches = mysqli_num_rows($query);
if ($matches == 1) {
$row = mysqli_fetch_array($query);
$visited = $_POST['data'];
$visited = $connection->real_escape_string($visited);
$connection->query("UPDATE members SET visited = '$visited' WHERE username ='$username'");
}
mysqli_close($connection);
?>
正如我在控制台中检查的那样,数据存储在 local_array 中。中的 jQuery 代码是 footer.php。这与我存储 uploadtodatabase.php 的位置相同。但是,footer.php 附加到可能不在同一目录中的其他文件。这会导致问题吗?我以前从未使用过 AJAX。所以,我可能做了一些愚蠢的事情,却根本没有注意到。
最佳答案
嗨,你已经成功了一半,你只需要解码 php 代码中的数组...
if(!empty($_POST['data'])) {
$data = explode(',',$_POST['data']);
//code to store $data content
}
现在您可以使用 $data 变量来存储 localSotrage 中的 session 内容
关于javascript - 无法将本地存储上传到数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32308937/