我们镇上有一个小型竞赛,我们需要使用Ajax将本地存储密钥存储到MySQL中。
通过这个项目,我发现了一些问题。
这是我的localstorage键和值:
键:BM
值:
[{"id":"item-1","icon":"google.com"},
{"id":"item-3","icon":"tumblr.com"},
{"id":"item-5","icon":"youtube.com"}]
基本上它的 id:ID,icon:URL ,两者都可以是随机的。
当我使用Ajax将其存储到MySQL中时,值将更改为:
[{\"id\":\"item-1\",\"icon\":\"google.com\"},
{\"id\":\"item-3\",\"icon\":\"tumblr.com\"},
{\"id\":\"item-5\",\"icon\":\"youtube.com\"}]
该行的结构是longtext。我试过纯文本但是一样。
我想听听更有经验的开发者的其他想法,你会怎么做。
使用JSON添加和解析localstorage值。
答案 0 :(得分:1)
在插入数据之前,看起来php正在为您的输入添加斜杠。这可能是由魔术引起的。看看:http://php.net/manual/en/security.magicquotes.php
如果是这种情况,解决办法是关闭php中的magicquotes或使用stripslashes()
<?php
// Assuming your input is in the input variable
$input = stripslashes($_GET['input']);
mysql_query("insert into `table` ( `columnname` ) values( '" . mysql_real_escape_string($input) . "' )");
?>