我有一些要存储在数据库中以进行同步的数据。这是我的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变量来存储本地存储中会话的内容
关于javascript - 无法将本地存储上传到数据库,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32308937/