我有一些要存储在数据库中以进行同步的数据。这是我的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/

10-12 07:41
查看更多