将javascript画布路径保存到数据库中的正确方法

将javascript画布路径保存到数据库中的正确方法,javascript,php,mysql,canvas,Javascript,Php,Mysql,Canvas,使用php将javascript画布路径保存到mysql数据库的正确方法是什么 路径可以如下所示: array:3 [ 0 => array:3 [ 0 => "M" 1 => 127.83333333333 2 => 70.486111111111 ] 1 => array:5 [ 0 => "Q" 1 => 127.83333333333 2 => 70.486111111111

使用php将javascript画布路径保存到mysql数据库的正确方法是什么

路径可以如下所示:

array:3 [
  0 => array:3 [
    0 => "M"
    1 => 127.83333333333
    2 => 70.486111111111
  ]
  1 => array:5 [
    0 => "Q"
    1 => 127.83333333333
    2 => 70.486111111111
    3 => 128.33333333333
    4 => 70.486111111111
  ]
  2 => array:5 [
    0 => "Q"
    1 => 128.83333333333
    2 => 70.486111111111
    3 => 129.41666666667
    4 => 70.486111111111
  ]
  3 => array:5 [
    0 => "Q"
    1 => 130
    2 => 70.486111111111
    3 => 130.83333333333
    4 => 70.486111111111
  ]
]
但在大多数情况下,它更大。
此外,可以有多个路径(数组)链接到一个实体,比如说
user\u id
。在我的数据库中管理这个的好方法是什么。可以序列化数据或使用
json\u encode
,但我不确定这是否是真正的方法。

检查serialize php函数:

它返回数组(字符串)的可存储表示形式,您可以将其保存在数据库中。然后,当你需要它回来,你可以取消序列化

您不能将数组直接存储到数据库中

您需要将其转换为字符串,然后存储在数据库中

您可以使用
JSON.stringify()
将数组转换为字符串,然后发送到PHP文件以存储到数据库中。

假设您将所有这些值存储在某个javascript数组调用
canvasValues

然后使用convert-array-to-string
JSON.stringify(canvasValues)

现在可以对PHP文件进行AJAX调用,将画布数组值保存到数据库中。 我在这里使用调用一个*PHP文件

axios.post("yourPhpFileName.php",{
  "arrayValues": JSON.stringify(canvasValues)
})
.then(function(response){
  console.log(response);
})
.catch(function(error){
  console.error(error);
});
现在在PHP文件中

if($_SERVER["REQUEST_METHOD"] === "POST"){
    $userInput = json_decode(file_get_contents("php://input"), TRUE);
    $arrValues = json_decode($userInput["arrayValues"], true);

    #now user foreach() to loop around your $arrValues variable
    foreach($arrValues as $key => $values){
         #now extract your data and do whatever you want
    }

    # Before saving $arrValues in DB, convert back to string using json_encode();
}

你能描述数组中的每个值吗?我已经好几年没有玩js和canvas了。在我给你答案之前,你只需要确定元素。你还需要搜索MySQL表中的路径来过滤结果吗?@RaymondNijland,不,api应该只给每个pathWell,在NoSQL数据库中存储它可能更有意义,因为你正计划存储非关系数据请记住安全性?->“警告不要将不受信任的用户输入传递给unserialize(),无论允许的_类的选项值如何。如中所述,由于对象实例化和自动加载,非序列化可能导致加载和执行代码。”。。“将javascript画布路径保存到数据库的正确方法”我不相信对来自客户端的数据运行
unserialize()。。。