Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法将本地存储上载到数据库_Javascript_Php_Jquery_Mysql_Ajax - Fatal编程技术网

Javascript 无法将本地存储上载到数据库

Javascript 无法将本地存储上载到数据库,javascript,php,jquery,mysql,ajax,Javascript,Php,Jquery,Mysql,Ajax,我有一些数据要存储在数据库中进行同步。以下是我的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(localSto

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

正如我在控制台中检查的那样,数据存储在本地_数组中。中的jQuery代码是footer.php。这就是我存储uploadtodatabase.php的位置。但是,footer.php会附加到可能不在同一目录中的其他文件中。这会导致问题吗?我以前从未使用过AJAX。所以,我可能在做一些愚蠢的事情,却根本没有注意到

您好,您已经完成了一半,只需解码php代码中的数组

if(!empty($_POST['data'])) {
    $data = explode(',',$_POST['data']);
    //code to store $data content
}

现在,您可以使用$data变量从localSotrage存储会话内容

您必须对json对象进行字符串化,然后在服务器上对其进行解码。我看到您已经在使用MySQLi了,但为什么不使用预先准备好的语句呢?我正在一步一步地学习。我不是很聪明,我需要一些时间来理解发生了什么。一旦我清楚了MySQLi和AJAX的内容,我将开始学习PDO。我之前确实试过一次,但似乎很复杂。我很快会再试一次。@CharlotteDunois这里的JSON对象是什么。以及如何将其字符串化和解码。可以,请提供一个例子。我以前从未做过。谢谢